我有一组单选按钮。其中两个在不同的日期可见。我正在验证它们以确保在允许提交之前至少选择其中一个。
这是我的表中的一个表行,注意:在以下脚本中,我将输入 id 更改为所有的相同或唯一的 id。
<tr>
        <td style="width: 120px">Select An Option *:</td>
        <td>
            <div >
                    <h3>text</h3>
                    <?php // date activator
                        $display_start = "2013-09-01";
                        $display_end = "2013-10-17";
                        if((date("Y-m-d") >= $display_start) && (date("Y-m-d") <=
                        $display_end)){ ?>
                        <input id="selection" type="radio" name="group1"  value="Before17th" >  text  here  </option></br></br>
                    <?php } ?>
                    <?php // date activator
                        $display_start = "2013-10-18";
                        $display_end = "2014-10-18";
                        if((date("Y-m-d") >= $display_start) && (date("Y-m-d") <=
                        $display_end)){ ?>
                        <input id="selection" type="radio" name="group1" value="After17th"> text  here   </option><br/></br>
                        <?php } ?>
                        <input id="selection" type="radio" name="group1" value="Already Own Devices">   text  here   </option><br/> 
            </div>
        </td>
    </tr>
我试过这个脚本进行验证,这个似乎只检查第一个选项。如果我选择第二个选项,它不会捕捉到选择被选中,使其成为真的。
if ( ($('input[name="group1"]').attr('checked') == false )) {
    $("#errors").after('<span class="error">Please specify an option.</span>');
    hasError = true;
  }
我尝试了这个脚本,所有选项都使用相同的输入 ID。这仅在也选择了第一个选项时才会通过。选择的第二个选项仍然验证为假。
if ( ($("#selection").attr('checked') == false )) {
    $("#errors").after('<span class="error">Please specify an option.</span>');
    hasError = true;
  }
我也试过这个脚本,我给每个输入 id 一个唯一的。这很好用,但是当我想 POST 到我的数据库时,我必须为每个输入 id 创建一个单独的列。
 // validate option selection
if ( ($("#selection").attr('checked') == false ) && ($("#owndevices").attr('checked') == false )) {
    $("#errors").after('<span class="error">Please select an option.</span>');
    hasError = true;
 }
if ( ($("#selection").attr('checked') == false ) && ($("#onsite").attr('checked') == false )) {
    $("#errors").after('<span class="error">Please select an option.</span>');
    hasError = true;
 }
有没有办法让脚本验证是否使用相同的输入 id 检查脚本。或者也许使用值或组名?
谢谢
SQL 错误,我需要将 html 名称更改为 group1,然后插入 VALUES。我之前已经输入了输入ID。
$sql = "INSERT INTO 
            ucm_signup 
            ( company, address1, address2, city, province, zip, fname, lname, email, phone, 
                session, iama, buyfrom, group1 )
        VALUES
            ( '$_POST[company]','$_POST[address1]','$_POST[address2]','$_POST[city]',
                '$_POST[province]','$_POST[zip]','$_POST[fname]','$_POST[lname]','$_POST[mail]',
                '$_POST[phone]','$_POST[session]','$_POST[iama]','$_POST[buyfrom]','$_POST[]')";