单选按钮默认选中,但在提交时未选中
Radio button checked by default but un-checked on submit
我有一组单选按钮,如下所示。我打算有一个情况,在页面的初始加载默认单选按钮检查是塑料。下面的代码只保留我选择的单选按钮。
<div id="material">
<input type="radio" name="materials" value="glass" style="vertical-align: middle"
onchange="this.form.submit()"
<?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'glass') {echo "checked";}} ?>
/>
<label for="material">Glass</label> <br/>
<input type="radio" name="materials" style="vertical-align: middle" value="plastic"
onchange="this.form.submit()"
<?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'plastic') {echo "checked";}} ?>
/>
<label for="material" >Plastic (Organic)</label>
</div>
将onchange="this.form.submit()"
从单选按钮中移除,并将其添加到页面标题的脚本标签之间:
<script>
window.onload = function() {
// when the form is submitted
document.forms[0].onsubmit = function() {
// get all radio buttons with name = materials
var radios = document.getElementsByName('materials');
// for each radio button
for(i=0; i<radios.length; i++) {
// uncheck radio buttons
radios[i].checked = false;
}
};
};
</script>
尝试下面给出的代码,它具有所需的更改
<div id="material">
<input type="radio" name="materials" value="glass" style="vertical-align: middle" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'glass') {echo "checked";}} ?>/>
<label for="material">Glass</label> <br/>
<input type="radio" checked="checked" name="materials" style="vertical-align: middle" value="plastic" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'plastic') {echo "checked";}} ?>/>
<label for="material" >Plastic (Organic)</label>
</div>
更新<form method="post" >
<div id="material">
<?php if(isset($_POST['materials'])) {
if($_POST['materials'] == 'glass'){
?>
<input type="radio" checked="checked" name="materials" value="glass" style="vertical-align: middle" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'glass') {echo "checked";}} ?>/>
<label for="material">Glass</label> <br/>
<input type="radio" name="materials" style="vertical-align: middle" value="plastic" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'plastic') {echo "checked";}} ?>/>
<label for="material" >Plastic (Organic)</label>
<?php }
else { ?>
<input type="radio" name="materials" value="glass" style="vertical-align: middle" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'glass') {echo "checked";}} ?>/>
<label for="material">Glass</label> <br/>
<input type="radio" checked="checked" name="materials" style="vertical-align: middle" value="plastic" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'plastic') {echo "checked";}} ?>/>
<label for="material" >Plastic (Organic)</label>
<?php }
} else { ?>
<input type="radio" name="materials" value="glass" style="vertical-align: middle" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'glass') {echo "checked";}} ?>/>
<label for="material">Glass</label> <br/>
<input type="radio" checked="checked" name="materials" style="vertical-align: middle" value="plastic" onchange="this.form.submit()" <?php if(isset($_POST['materials'])){ if($_POST['materials'] == 'plastic') {echo "checked";}} ?>/>
<label for="material" >Plastic (Organic)</label>
<?php } ?>
</div>
<input type="submit" name="submit">
</form>
尝试将"checked"改为"checked ="checked"'
相关文章:
- 一键提交(阻止默认)多个表单
- 使用jQuery的.on()方法阻止Ajax.BeginForm中提交的默认行为
- Vanilla javascript 表单验证,如何撤消防止提交时的默认
- 无法在提交模式弹出窗口时禁用 .btn 默认值
- 表单提交后防止默认
- 使用jQuery切换根据选中的复选框隐藏/显示表单提交按钮 - 如何设置默认关闭的提交按钮
- 通过按钮/类型=“提交”行为恢复默认表单提交
- 阻止表单提交 预防默认问题
- 如何将块UI与setTimeout一起使用,并在表单提交时防止默认
- Javascript 表单提交 prevent默认在使用 AJAX 检索表单时不起作用
- event.prevent提交表单时默认不起作用
- 提交带有替代的表单以防止默认
- 覆盖Magento中的默认数据表单提交JS活动
- “输入”键的默认提交按钮
- 如果提交时默认值不是't已更改
- 防止默认后重新启用提交
- 引导向导如何在保存或提交数据后将默认活动选项卡(第一个选项卡)覆盖到上一个活动选项卡
- 表单提交时,即使我使用阻止默认提交按钮点击
- form获胜't通过jQuery正确提交,并恢复到默认行为
- 为什么表单提交默认值被删除?