我正在使用我的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 :(得分: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>
希望这能解决你的问题。 :) 非常喜欢第二种解决方案,因为第一种解决方案只是不必要的代码。
答案 1 :(得分:0)
问题很可能是在浏览器中缓存了值。尝试在autocomplete='off'
标记中添加<form>
。