从不同的Javascript函数检索AJAX值 在一个更大的Web应用程序的简化示例中,考虑一个简单的登记表单:字段名称:用户名、FiSTNEX、LASSTND和寄存器按钮类型=“按钮”< /C> > /P>
AJAX调用:从不同的Javascript函数检索AJAX值 在一个更大的Web应用程序的简化示例中,考虑一个简单的登记表单:字段名称:用户名、FiSTNEX、LASSTND和寄存器按钮类型=“按钮”< /C> > /P>,javascript,jquery,Javascript,Jquery,AJAX调用: function checkUsername(uname) { if (uname != '') { $.ajax({ type: "POST", url: 'ajax/ax_all_ajax_fns.php', data: 'request=does_this_username_already_exist&username=' + un
function checkUsername(uname) {
if (uname != '') {
$.ajax({
type: "POST",
url: 'ajax/ax_all_ajax_fns.php',
data: 'request=does_this_username_already_exist&username=' + uname,
async: false,
success:function(data){
//alert('Returned AJAX data: '+data);
if (data != 0) {
var existing_user = data.split('|');
var fn = existing_user[0];
var ln = existing_user[1];
focus_control = 'username';
$( '#alert' ).html( 'That username is already in use by ' + fn +' '+ ln +'. Please choose another.' );
$( '#alert' ).dialog( 'open' );
} //EndIf data<>0
} //End success
}); //End $.ajax
} //End If this.val <> ""
}
将
返回false
放在#注册按钮单击函数的末尾,就在检查表单()的正下方。按钮将继续触发表单提交。当您的javascript函数处理了这个问题时。可能会在HTML表单标记的函数调用中放入return false
<form>
<bunchOfElements />
<button onclick="checkUserName(); return false">Check Name </button>
</form>
当一个人回答自己的问题时,他既高兴又哭泣,但事情是这样的。解决方案是将checkUsername()函数作为输入参数发送给checkForm()函数,并使checkUsername()函数返回一个我们可以在checkForm()中检查的值
因此,我们必须修改$('#register')。单击
函数即可:
$('#register').click(function() {
var uname = $.trim($( '#username').val());
checkForm(checkUsername(uname)); //<===========================
});
$(“#注册”)。单击(函数(){
var uname=$.trim($('#username').val());
checkForm(checkUsername(uname));//提交代码$(“#cns_form”).submit();
在checkForm()函数中(见上文)。我应该将返回false
放在该函数中的什么位置?
function checkForm() {
var un = $.trim($( '#username').val());
var fn = $( '#first_name').val();
var ln = $( '#last_name').val()
if (un=='' || fn=='' || ln=='') {
$( '#alert' ).dialog({
height: 200,
width: 300,
});
$( '#alert' ).html( 'Fields marked with an asterisk are required.' );
$( '#alert' ).dialog( 'open' );
} else {
$("#cns_form").submit();
}
}
<form>
<bunchOfElements />
<button onclick="checkUserName(); return false">Check Name </button>
</form>
$(document).ready(function(){
$("#buttonID").bind('click', function(){
//do your thing
checkForm();
});
});
$('#register').click(function() {
var uname = $.trim($( '#username').val());
checkForm(checkUsername(uname)); //<===========================
});
function checkUsername(uname) {
var returnVal = 0; //<=================================
if (uname != '') {
$.ajax({
type: "POST",
url: 'ajax/ax_all_ajax_fns.php',
data: 'request=does_this_username_already_exist&username=' + uname,
async: false,
success:function(data){
//alert('Returned AJAX data: '+data);
if (data != 0) {
var existing_user = data.split('|');
var fn = existing_user[0];
var ln = existing_user[1];
focus_control = 'username';
$( '#alert' ).html( 'That username is already in use by ' + fn +' '+ ln +'. Please choose another.' );
$( '#alert' ).dialog( 'open' );
returnVal = 0; //<============================
} //EndIf data<>0
} //End success
}); //End $.ajax
} //End If this.val <> ""
return returnVal; //<==============================
}
function checkForm(exists) { //<============================
alert('sub checkForm(). value of exists: ' + exists);
if (exists==9) { //<================================
$( '#alert' ).html( 'That username is already in use' + existing +'. Please choose another.' );
$( '#alert' ).dialog( 'open' );
}else{ //<==========================================
var un = $.trim($( '#username').val());
var fn = $( '#first_name').val();
var ln = $( '#last_name').val()
if (un=='' || fn=='' || ln=='') {
$( '#alert' ).dialog({
height: 200,
width: 300,
});
$( '#alert' ).html( 'Fields marked with an asterisk are required.' );
$( '#alert' ).dialog( 'open' );
} else {
$("#cns_form").submit();
}
} //<===================================================
}