以下是我正在嘗試的操作。使用Javascript + Ajax驗證並提交表單
當我的表單上點擊'提交'表單時,javascript函數將遍歷表單的所有字段。
對於每個字段,將調用一個函數,該函數將返回
true
/false
以指示它是否正確填寫。如果返回
false
,它會在該字段旁邊顯示一條錯誤消息。如果所有字段都是正確的,它會提交表單。如果不是,則不提交。
這是棘手的部分。雖然大多數驗證是通過javascript完成的,但用戶名和電子郵件需要通過ajax進行驗證,以查看用戶名/電子郵件是否已被使用。
我目前使用此功能AJAX的結構類似於這樣:
function validateSomething()
{
var valid;
$.post("something.php", {x:y},
function(data)
{
if (isSomething(data))
valid=true;
//Here referring to the valid variable
//set outside this function, in the
// parent function
else
valid=false;
});
return valid/
}
但是,目前不能正常工作。
我該怎麼做才能使它工作,即我可以停止validateSomething()函數返回一個值,直到它被內部函數設置爲true/false?
會是這樣的工作:
function validateSomething()
{
var valid="unset";
$.post("something.php", {x:y},
function(data)
{
if (isSomething(data))
valid=true;
//Here referring to the valid variable
//set outside this function, in the
// parent function
else
valid=false;
});
//Loop without returning until valid is set to true or false
while (valid=='unset')
{
//Do nothing?
}
return valid/
}
啊,不知道那個設置。 .ajax函數是否會生成GET或POST文章? – 2009-02-23 13:37:21
您可以指定使用類型。更新答案以澄清。 – Magnar 2009-02-23 13:38:36