繁体   English   中英

默认情况下,单选按钮处于选中状态,但在提交时未选中

[英]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>

尝试将“ checked”更改为“ checked =“ checked””

尝试下面给出的代码,它具有所需的更改

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM