【问题标题】:radio button value not hold in edit form if validation error occur如果发生验证错误,单选按钮值不会保留在编辑表单中
【发布时间】:2016-05-11 02:23:36
【问题描述】:

我在编辑表单中使用单选按钮选项。在编辑表单中选中的单选按钮取决于数据库值。为此我正在使用

<input type="radio"  name="active" value="active" <?php echo ($row['service']=='active')?'checked':'' ?>> Active
<input type="radio"  name="active" value="deactive" <?php echo ($row['service']=='deactive')?'checked':'' ?>> Deactive

它工作正常。但在编辑表单中如果有人更改此值并提交表单并且他仍然存在其他字段的任何验证错误然后单选按钮再次重置为旧值。我如何保留此值。

例如。在从数据库值中选择的用户编辑表单停用单选按钮中,然后用户将此按钮更改为活动并在移动无字段中进行编辑并提交表单。如果移动无字段中存在任何验证错误,则单选按钮也选择previousd(停用).我怎样才能保持它们不变?

我的表单代码是

<?php include_once 'header.php';
$ra=$_SESSION['ra']
$sql="SELECT * FROM emitra_basic where uid='$ra'";
$result = $conn->query($sql);
$row=mysqli_fetch_array($result);
if(isset($_POST['update'])) 
     {$phone = $_POST['cno'];
     //validion example 
       if(strlen($phone)!=10) {
       $flag=1;
       $phoneErr = "Not a valid phone number";}.......like this other validaiton
   //then insertion..
    my form code are......
   <form id="basic" method="post" name="basic"  >
   <p class="contact"><label for="RU">service</label></p>               
    <input type="radio" id="active" name="active" value="active" <?php echo ($row['service']=='active')?'checked':'' ?>/> Active
    <input type="radio" id="active" name="active" value="deactive" <?php echo ($row['service']=='deactive')?'checked':'' ?>/> Deactive
    <p class="contact"><label for="contct No">Contact No</label></p> 
    <input id="cno" name="cno" placeholder="Contact No" value ="<?php  if(isset($phone)){ echo $phone; }elseif($phoneErr=="") {echo $row['contact'];} ?>" type="text"> 

我也试过用这个

<input type="radio" name="active" value="active" <?php if (isset($active) && $active=="active") echo "checked"; elseif($row['service']=='active') echo "checked"; ?> > Active
            <input type="radio"  name="active" value="deactive" <?php if (isset($active) && $active=="deactive") echo "checked"; elseif($row['service']=='deactive') echo "checked"; ?> > Deactive

但没有找到结果。 它在正常情况下工作正常,但在更新表单时会出现任何验证错误,然后再次检查单选按钮以了解数据库值。

【问题讨论】:

    标签: php forms validation mysqli radio-button


    【解决方案1】:
    <?php if (($_POST['active']) == 'active') {echo 'checked="checked"';} ?>
    

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 2014-05-14
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      相关资源
      最近更新 更多