![](/img/trans.png)
[英]How can I pass a variable parameter to an anonymous function using jquery?
[英]How can I pass a function variable in jquery?
這是我正在使用的html表單。
<label>Your Username:</label><input id="username" name="username" type="text" onchange="return ajax ('username');" />
這是我在php中的ajax檢查文件。
if ($_REQUEST['username']) {
$q = $dbc -> prepare("SELECT username FROM accounts WHERE username = ?");
$q -> execute(array($_REQUEST['username']));
if (strlen($_REQUEST['username']) < 3) {
echo '<div class="error">Has to be at least 3 characters</div>';
}
elseif ($q -> rowCount() > 0) {
echo '<div class="error">Username already taken</div>';
}
else {
echo '<div class="success">Username available</div>';
}
}
我的jquery ajax請求......
function ajax (input) {
var val = $('#'+input).val();
$('.loading').fadeIn().delay(100);
$.post("ajax.php", {
username: val,
},
function (response) {
$('.error, .success').hide();
setTimeout(function(){
$('.loading').hide();
finishAjax(input, response);
}, 1000);
});
return false;
}
function finishAjax(id, response) {
$('#'+id).after(response).fadeIn(2000);
}
在我的表單上,我使用變量username調用ajax請求。
在我的ajax.php中,如果請求名為username,則會正確驗證用戶名。
我想在jquery代碼中顯示變量輸入來代替用戶名 ,所以我可以使用這個腳本進行其他驗證,並將變量作為電子郵件或密碼傳遞,腳本仍將運行,因為輸入的值將是它所需要的成為。
如果這是有道理的。
謝謝你的時間。
var data = {};
data[input] = $('#' + input).val();
$.post("ajax.php", data, function() {...
和
finishAjax(input, response);
你聲明val
是“輸入”的值,但從不使用它。 用戶名的所有用法都應該可以訪問該變量val
,因此請使用它。 除非我誤解了你的問題,否則這樣的話(只改了一行):
function ajax(input) {
var val = $('#' + input).val();
$('.loading').fadeIn().delay(100);
$.post("ajax.php", {
username: val,
}, function (response) {
$('.error, .success').hide();
setTimeout(function () {
$('.loading').hide();
finishAjax('username', response);
}, 1000);
});
return false;
}
檢查輸入arg wat ll u get then then .....刪除附近的分號
{username: $('#' + input).val(),}
as ,{ username: $('#' + input).val()},
你會得到o / p
在調用$ .post之前,請創建一個空對象。
var data = {};
使用函數的參數作為對象的索引。
data[input] = val;
在$ .post調用中使用該對象而不是匿名對象文字。
$.post("ajax.php", data, function ...);
但是,如果按照描述的方式執行操作,則需要確保管理所有正確傳遞的參數。 您確定您的PHP腳本能夠處理可能傳遞給ajax函數的所有不同值嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.