ラジオボタンのグループがあります。そのうちの 2 つは異なる日付で表示されます。送信を許可する前に、それらの少なくとも 1 つが選択されていることを確認するためにそれらを検証しています。
これが私のテーブルのテーブル行です。注: 次のスクリプトでは、入力 ID をすべて同じ 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>
検証のためにこのスクリプトを試しましたが、これは最初のオプションのみをチェックしているようです。2番目のオプションを選択すると、選択が選択されていないため、trueになります。
if ( ($('input[name="group1"]').attr('checked') == false )) {
$("#errors").after('<span class="error">Please specify an option.</span>');
hasError = true;
}
すべてのオプションで同じ入力 ID を使用して、このスクリプトを試しました。これは、最初のオプションも選択されている場合にのみ通過します。選択された 2 番目のオプションは、引き続き false として検証されます。
if ( ($("#selection").attr('checked') == false )) {
$("#errors").after('<span class="error">Please specify an option.</span>');
hasError = true;
}
このスクリプトも試しました。各入力 ID に一意の 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[]')";