2016-09-30 3 views
0

내 Laravel 앱으로 페이지 양식을 만들고 있는데 누군가가 내 양식을로드 할 때 내가 미리 고칠 수있는 옵션이 없다는 것을 알려줄 수 있는지 알려주고 싶습니다. 어떤 이유로 양식을 만들 때 새로운 엔터티를 만들 때 이미 선택이 이루어집니다.라디오 버튼과

<div class="radio-custom radio-primary radio-inline"> 
    <input id="active" type="radio" name="is_active" {{ (old('is_active') == NULL || ((isset($title) && $title->is_active == 1))) ? 'checked="checked"' : '' }} value="1"> 
    <label for="active">Active</label> 
</div> 
<div class="radio-custom radio-primary radio-inline"> 
    <input id="active" type="radio" name="is_active" {{ (old('is_active') == NULL || ((isset($title) && $title->is_active == 0))) ? 'checked="checked"' : '' }} value="0"> 
    <label for="inactive">Inactive</label> 
</div> 
+0

어떤 경우에 상자를 선택 취소 하시겠습니까? 모든 페이지 (수정 + 양식 작성) 또는 작성 페이지에서만? –

+0

글쎄, 난 그냥 필드가로드 될 때 미리 선택된 라디오 버튼이 없는지 확인하고 싶다. 현재 작성 양식이로드 될 때 비 활동 단일 선택 단추가 선택됩니다. – user3732216

답변

1

이렇게하면 문제가 해결됩니다. if/else 문에 논리적 오류가 있습니다. 이전 값이 없으면 두 라디오 버튼을 모두 확인하십시오.

<div class="radio-custom radio-primary radio-inline"> 
    <input id="active" type="radio" name="is_active" {{ (old('is_active') !== NULL || ((isset($title) && $title->is_active == 1))) ? 'checked="checked"' : '' }} value="1"> 
    <label for="active">Active</label> 
</div> 
<div class="radio-custom radio-primary radio-inline"> 
    <input id="active" type="radio" name="is_active" {{ (old('is_active') !== NULL || ((isset($title) && $title->is_active == 0))) ? 'checked="checked"' : '' }} value="0"> 
    <label for="inactive">Inactive</label> 
</div> 

이 잘 작동해야한다는 :

<div class="radio-custom radio-primary radio-inline"> 
    <input id="active" type="radio" name="is_active" {{ (isset($title) && $title->is_active == 1) ? 'checked="checked"' : '' }} value="1"> 
    <label for="active">Active</label> 
</div> 
<div class="radio-custom radio-primary radio-inline"> 
    <input id="active" type="radio" name="is_active" {{ (isset($title) && $title->is_active == 0) ? 'checked="checked"' : '' }} value="0"> 
    <label for="inactive">Inactive</label> 
</div> 

희망이 문제를 해결했다. :) 첫 번째 것은 불필요한 코드이므로 두 번째 솔루션을 선호합니다.

+0

두 번째 해결 방법에 문제가 있다고 생각합니다. – user3732216

+0

해결되었습니다. 많은 오른쪽 괄호에 사용됩니다. :) –

0

브라우저에서 값을 캐시 할 때 문제가 발생할 가능성이 큽니다. <form> 태그에 autocomplete='off'을 추가하십시오.

+0

나는 그 가능한 해결책을 시도했고 같은 결과를 얻었다. – user3732216

+0

또한 HTML에서 두 개의 다른 요소에 동일한 ID를 사용해서는 안됩니다. –

+1

문제가'old ('is_active') == NULL'로 처리해야합니다. 당신은 두 라디오 입력에서 똑같은 것을 검사하고 있습니다. 두 라디오가 모두 선택되도록합니다. 불가능합니다. –

관련 문제