Ich arbeite an einer Website, und ich habe ein Problem festgestellt. Das funktioniert völlig in Ordnung, nach der ValidierungCodeIgniter - PHP Set_Radio auf Radio Eingang
<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>
, als die vorherigen Optionsfeld ausgewählt wurde, wenn: Um Werte voreinzustellen oder neu eingeben slected, Codeigniter können Sie set_radio verwenden, um Ihr Problem zu lösen, hier zu sehen In einem anderen Teil des Formulars ist ein Fehler aufgetreten. ABER, beim Versuch, die Seite erneut zu senden, nachdem der Benutzer den Fehler korrigiert hat, schlägt die Validitation bei der Radioauswahl fehl und fordert mich auf, erneut auf die Optionsfelder zu klicken, selbst wenn das Optionsfeld auf der zuvor ausgewählten Option visuell ausgewählt ist. Also muss ich das Optionsfeld erneut auswählen, bevor ich das Formular erneut einreichen kann. Die aufgerufene Warnung ist hier zu sehen:
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;
}
Weiß jemand, warum das nicht funktioniert, obwohl es das Formular korrekt neu füllt? Vielen Dank.
EDIT:
Für alle, die für die Frage, was Mid_temp tut, scheint es mir, dass es nur die Tasten versteckt, wenn sie nicht ausgewählt werden müssen. Im Code, den ich habe, das sind die einzigen Orte, es erwähnt wird:
$('#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');
}
}
und hier, in einer völlig separaten Datei:
function hide_box()
{
$('#bx').hide();
$('#paypal_emailid').val('');
$('#temp_mid').val('clicked');
}
function show_box()
{
$('#bx').show();
$('#paypal_emailid').focus();
$('#temp_mid').val('clicked');
}
Auch ist Paypal E-Mail-ID überprüft nur die paypal E-Mail-Adresse dass der Benutzer eingibt, wenn er ein PayPal-Konto hat. Danke für die Hilfe an alle.
Sie bitte die 'dohide_show (this.value) bereitzustellen;' Funktion – Mikhail
Welche Alarm genannt wird? Was ist das Element "paypal_emailid"? Welche Funktion füllt das 'temp_mid' Element? Geben Sie weitere Informationen zu Ihrem Problem an und ich werde versuchen, Ihnen zu helfen. – Mikhail
Ich werde versuchen, Ihnen morgen weitere Informationen zu diesem Thema zu liefern, da ich jetzt keinen Zugriff darauf habe. Sorry – TheChes44