Я добавил правило удаленной проверки для набора переключателей.
Я хочу, чтобы серверный скрипт проверял значение переключателей ('y' или 'n') и возвращал другое значение в зависимости от выбора радио.
Проблема, с которой я сталкиваюсь, заключается в том, что независимо от того, какая радиокнопка выбрана, значение, отправляемое на сервер, всегда равно 'y'
Я возвращаю только данные POST, чтобы убедиться,
вот код, о котором идет речь
HTML
<form id="signup-form">
<div>
<label for="mbr_org_name">Org. Name*</label>
<input type="text" name="mbr_org_name" id="mbr_org_name" class="required" />
</div>
<div>
<label for="mbr_tl_account_number">Account Number</label>
<input type="text" name="mbr_tl_account_number" id="mbr_tl_account_number" class="digits" value="" />
</div>
<p class="field-note" id="mbr_credit_note">Have you previously established credit terms with Terri Lynn?</p>
<div class="radio" id="mbr_credit_wrapper">
<label for="mbr_credit_y">Yes, I have.</label> <input type="radio" value="y" id="mbr_credit_y" name="mbr_credit" class="ignore" disabled="disabled" /> <br />
<label for="mbr_credit_n">No, I havn’t.</label> <input type="radio" value="n" id="mbr_credit_n" name="mbr_credit" class="ignore" disabled="disabled" />
</div>
</form>
JS
$('#signup-form').validate({
// enabled for developments
debug: true,
// special validation rules that could not be included as <input /> classes
rules: {
// account numbers are all 6 digits
mbr_tl_account_number: {
minlength: 6,
maxlength: 6
},
// if the account number field has something in it
// then the user must specify if they have credit, y or n
// we will perform a validation against account numbers and org names to make sure this is the case
mbr_credit: {
required: '#mbr_tl_account_number:filled',
remote: {
url: '/tlfr_account_check.php',
//cache: false,
type: 'post',
data: {
mbr_org_name: function() {
return $('#mbr_org_name').val();
},
mbr_tl_account_number: function() {
return $('#mbr_tl_account_number').val();
}
}
}
},
password_confirm: {
equalTo: '#password'
}
},
// special error messages if the fail the credit check
messages: {
mbr_credit: {
required: "Please choose one."
}
}
});
$('#mbr_tl_account_number').focusout(function(evt){
$(this).removeData("previousValue");
$("#mbr_credit_wrapper input").removeData("previousValue");
if($(this).valid() === 1){
$('#mbr_credit_note').fadeIn('3000');
$('#mbr_credit_wrapper').fadeIn('3000');
$('#mbr_credit_wrapper input').removeClass('ignore').removeAttr('disabled');
}
});
PHP
<?
// make sure this request is coming from ajax
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
$post_data = $_POST['mbr_credit'].'||'.$_POST['mbr_org_name'].'||'.$_POST['mbr_tl_account_number'];
echo '"post '.$post_data.' data"';
}
else{
die();
}
?>