我正在使用JavaScript來驗證我的表單。這是基本的驗證。我有問題,它發送synum變量通過張貼從Java腳本到我的PHP頁面valid_synum.php在那裏我做一個pdo查找檢查如果該synum存在或不,然後我回聲一個1或0基於結果。我希望Java腳本能夠獲得該結果併發送警報錯誤,或者如果確定允許表單提交。這裏是我有的JavaScript。至於我可以告訴POST調用發送一個變量從JavaScript到PHP被檢查並返回到javascript
$。員額( 「valid_synum.php」。{synum:synum},
永遠不會叫了起來,我把一個測試的PHP頁面並且測試永遠不會從腳本啓動,如果我直接在瀏覽器加載PHP它工作正常
任何幫助,將不勝感激
<script>
function isNumber(input)
{
return (input - 0) == input && (input+'').replace(/^\s+|\s+$/g, "").length > 0;
}
function checkForm(f)
{
if (f.elements['worknum'].value != "")
{
if ((isNumber(f.elements['worknum'].value)) == false)
{
alert("The Work Order Number is not valid")
return false;
}
var chars = 6;
if((f.elements['worknum'].value).length != 6)
{
alert("The Work Order Number is not 6 digits")
return false;
}
}
if (f.elements['synum'].value == "")
{
alert("Please Enter the Store Number");
return false;
}
if (f.elements['worknum'].value == "")
{
alert("Please Enter the Work Order Number");
return false;
}
if (f.elements['synum'].value != "")
{
//get the username
var synum = (f.elements['synum'].value);
$.post("valid_synum.php", { synum: synum },
function(result){
//if the result is 1
if(result == 1){
//do nothing valid synum
alert("Good")
return false;
}else{
//show that the username is NOT available
alert("The store number is NOT valid. Please Enter full store number")
return false;
}
});
}
else
{
f.submit();
return false;
}
}
</script>
這裏是我的PHP頁面代碼:。。。
$id=$_POST['synum'];
try{
$conn = new PDO("sqlsrv:Server= $eautoserver ; Database = $eautodb ", $eautouser, $eautopwd);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('SELECT * FROM vw_DCR_Web_Customer_Query WHERE CustomerNumber= :id');
$stmt->execute(array('id' => $id));
$row = $stmt->fetch();
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
if ($row){
echo 1;
$email_body="1";
}else{
echo 0;
$email_body="0";
}
如果您在.post之前放置了警報,它是否顯示警報?意思是,它甚至可以獲得郵政編碼嗎? – user1048676 2013-04-04 18:39:18
是的,如果我確實警覺(synum);就在$ .post之前,它會顯示我輸入的內容。所有其他錯誤檢查,Java腳本工作正常。只是這一塊似乎並沒有激活。我在php上放置了代碼來發送電子郵件,只是爲了測試頁面是否被訪問,而不是。 – 2013-04-04 18:53:22
控制檯中有任何錯誤嗎? – user1048676 2013-04-04 18:58:11