我正在一個網站上工作,並且遇到了問題。爲了預先設置或重新輸入slected值,笨允許您使用set_radio解決您的問題,在這裏看到:CodeIgniter - 無線電輸入上的PHP Set_Radio
<td>Do You Have a PayPal Account <span class="error">*</span> : </td>
<td colspan="2" align="left" valign="top"><label>
<!-- used for validation -->
<input type="hidden" id="temp_mid" value="" />
<input name="mail_account" type="radio" id="p_same" value="same" onclick="dohide_show(this.value);" <?php echo set_radio('mail_account', 'same'); ?>/> Yes(same as email address as above.)<br/>
<input name="mail_account" type="radio" id="p_diff" value="diff" onclick="dohide_show(this.value);" <?php echo set_radio('mail_account', 'diff'); ?>/> Yes(different than above.)<br/>
<input name="mail_account" type="radio" id="p_checkInMail" value="checkInMail" onclick="dohide_show(this.value);" <?php echo set_radio('mail_account', 'checkInMail'); ?>/> No(I would prefer to receive a check in the mail.)
<?php echo form_error('mail_account'); ?>
</td>
這個工程驗證後完全正常,作爲一個單選按鈕被選中,如果表單的另一部分存在錯誤。但是,當用戶糾正錯誤後嘗試重新提交頁面時,無線電選擇上的評估失敗,要求我再次單擊單選按鈕,即使在我之前選擇的選項上直觀地選擇了單選按鈕。所以我必須在重新提交表單之前再次選擇單選按鈕。這裏看到的警報是:
function validate_playpal()
{
var temp=$('#temp_mid').val();
if(temp=="")
{
alert('Please select the PayPal account option.');
$('#p_same').focus();
return false;
}
if(document.getElementById('p_diff').checked== true && document.getElementById('paypal_emailid').value=='')
{
alert('Please provide your PayPal email address.');
document.getElementById('paypal_emailid').focus();
return false;
}
if(document.getElementById('paypal_emailid').value!='')
{
if(!email_format(document.getElementById('paypal_emailid').value)){
alert('Please enter valid email address.');
document.getElementById('paypal_emailid').value="";
document.getElementById('paypal_emailid').focus();
return false;
}
}
return true;
}
有沒有人知道爲什麼這不起作用,即使它正在重新填寫表單正確?謝謝。
編輯:
大家誰問什麼Mid_temp做,在我看來,它只是隱藏按鈕,如果他們不需要做選擇。在我的代碼,這些都是它提到的唯一地方:
$('#bx').hide();
if(document.getElementById('p_diff').checked==true){
$('#bx').show();
}
function dohide_show(val){
if(val=='diff')
{
$('#bx').show();
$('#paypal_emailid').val('');
document.getElementById('p_diff').checked=true;
$('#temp_mid').val('clicked');
}
else if(val=='same')
{
$('#bx').hide();
$('#paypal_emailid').val($('#email_id').val());
$('#temp_mid').val('clicked');
}
else
{
$('#bx').hide();
$('#paypal_emailid').val($('#email_id').val());
$('#temp_mid').val('clicked');
}
}
,並在這裏,在一個完全獨立的文件:
function hide_box()
{
$('#bx').hide();
$('#paypal_emailid').val('');
$('#temp_mid').val('clicked');
}
function show_box()
{
$('#bx').show();
$('#paypal_emailid').focus();
$('#temp_mid').val('clicked');
}
此外,貝寶電子郵件ID就是檢查PayPal的電子郵件地址如果用戶擁有PayPal帳戶,則用戶輸入。感謝大家的幫助。
請提供'dohide_show(THIS.VALUE);'函數 – Mikhail
什麼警報叫什麼?什麼是'paypal_emailid'元素?什麼函數填充'temp_mid'元素?提供有關您的問題的更多信息,我會盡力幫助您 – Mikhail
明天我會盡力爲您提供更多信息,因爲我現在無法訪問它。對不起 – TheChes44