可能重複:
[PHP/JavaScript]: Call PHP file through JavaScript code with argument如何通過JavaScript調用我的PHP文件
好了,所以我使用JavaScript來驗證我的HTML表單的輸入值,但我用PHP寫這些值進入數據庫。 是否可以通過Javascript將我的表單發送到PHP文件?
這就是我沒有使用Javascript的情況下完成的,它應該在您點擊提交按鈕到PHP文件時發送表單。 這是我原來的形式:
<form name="filler" method="post" action="display.php">
//form stuff
</form>
這裏的,據我已經得到了。儘管我無法看到任何應該錯誤的東西,但在使用Javascript驗證我的表單時卻什麼也沒有發生,但無論我輸入什麼內容,它都會立即進入PHP。它還有什麼問題?
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function required1(n,s,u,e,d,p,cp,g)
{
if (n.value.length > 0 && s.value.length > 0 && u.value.length > 0 && e.value.length > 0 && d.value.length > 0 && p.value.length > 0 && cp.value.length > 0 && g.value.length > 0)
{
return true;
{
else
{
alert('You have not filled in all the fields');
return false;
}
}
function required2(e)
{
if(e.indexOf('.') != -1 && e.indexOf('@') != -1)
{
return true;
}
else
{
alert('Not a valid email address');
return false;
}
}
function required3(d)
{
if(/^\d{2}\/\d{2}\/\d{4}$/.test(d))
{
return true;
}
else
{
alert('Date is not in the right format (DD/MM/YYY)');
return false;
}
}
</script>
</head>
<body>
<form name="filler" method="post" action="display.php" onsubmit="return required1(document.filler.name,document.filler.surname,document.filler.username,document.filler.email,document.filler.dob,document.filler.password,document.filler.confirm_password,document.filler.gender) && required2(document.filler.email) && required3(document.filler.dob) ">
<input name="name" placeholder="Name..."/>
<input name="surname" placeholder="Surname..."/>
<input name="username" placeholder="Username..."/>
<input name="email" placeholder="Email address..."/>
<input name="dob" placeholder="YYYY/MM/DD"/>
<input name="password" placeholder="Password" type="password"/>
<input name="confirm_password" placeholder="Password" type="password"/>
<input name="gender" placeholder="Gender..."/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
不需要爲一些簡單的像這樣的AJAX,只是處理提交事件,如果表單無效,返回false /停止傳播,否則讓它繼續。希望你也在php中進行驗證。 – wgcrouch 2012-08-13 17:11:13
沒有嘗試js,我會說所有的'== 0'應該是'> 0'。如果你使用jQuery,'.value'是'.val()',你不需要內聯提交處理器(你可以在js部分添加一個表單的事件處理器)。 – jeroen 2012-08-13 17:36:32
感謝條件測試是一個愚蠢的錯誤。不要在這裏只是js。是否應該按照原樣提交,如果函數返回true? – 2012-08-13 17:41:33