[英]Onsubmit function not working
我的onsubmit函數不起作用。
我的PHP文件有兩種形式。 這兩個表單標簽都有一個onsubmit屬性,該屬性鏈接到相同的javascript文件。 第一個表單的onsubmit正在工作。 第二種形式調用的函數已簡化為:
function UserDataCheck()
{
return false;
}
表單標簽是
form name='user_form' method='post' onsubmit='return UserDataCheck();'
該標簽包含在<>和雙引號中,並在PHP文件中回顯。
請幫忙。 這真讓我抓狂! 早些時候,我在UserDataCheck()中進行了一些數據檢查,但我剝離了所有這些內容,以查看是否可以使用onsubmit阻止用戶提交! 沒有成功。
這是更多代碼!
echo "<html>";
echo "<head>";
echo "<title>Survey Form</title>";
echo "<link link rel='stylesheet' href='examples.css' type='text/css'>";
echo "</head>";
echo "<script src='validation.js'></script>";
echo "<body topmargin='20', leftmargin='20', rightmargin='20', style='background-color:beige; font-family:calibri;'>";
echo "<img src='CSE Global.jpg' width='250' height='70' align='right' />";
//---------------------------------------------------------------------
// Firstly, we determine who is using this system
// Check $_GET['dex'] for a value, if provided, then it's the user
// if not, then it's the administrator (see my notes below the code for
// more info)
//---------------------------------------------------------------------
"<input type='text' name='dex' length='50'>";
"<input type='boolean' name='sub' length='1'>";
if ($_GET['dex']=="") {
//---------------------------------------------------------------------
// $_GET['dex'] is empty so we can presume this is the Admin
//---------------------------------------------------------------------
echo "<p style='font-family:cambria;font-size:35px;'> WELCOME ADMIN!</p>";
//---------------------------------------------------------------------
// We now check to see if the form has been submitted or not ...
// To do this, we check if the variable 'sub' is in the $_POST array
//---------------------------------------------------------------------
if ($_POST['sub']!=1) {
//---------------------------------------------------------------------
// The form has not been submitted already so present the "admin form"
//---------------------------------------------------------------------
// check that they entered an amount tested, an amount passed,
// and that they didn't pass units than they more than tested
echo "<form name='admin_form' method='post' onsubmit='if(!AdminDataCheck()) return false;'>";
echo "<p><label>Scope of Service <label style='color:red'><strong>*</strong></label> <br/></label> <input type='text' name='scope' length='50' id='ScopeofService' onblur='checkScopeofService()'/><label id='labelScopeofService'></label></p>";
其次是更多標簽和文本字段。
然后關閉表單標簽!
echo "<input type='hidden' name='dex' value={$dex}>";
echo "<input type='hidden' name='sub' value=1>";
echo "<input type='SUBMIT' style='background-color:white' name='submit' value='SUBMIT'>";
echo "</form>";
這是validation.js中的函數
function AdminDataCheck()
{
var SoS = document.getElementById('ScopeofService').value;
var PNumber = document.getElementById('ProjectNumber').value;
var numericExp = /^[0-9]+$/;
var alphaExp = /^[A-Za-z ]+$/;
var Email = document.getElementById('Email').value;
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\-]+\.[a-zA-z0-9]{2,4}$/;
if (!(SoS.match(alphaExp)))
{
alert("Invalid Scope");
return false;
}
else if(!(PNumber.match(numericExp)))
{
alert("Invalid Project Number.");
return false;
}
else if(!(Email.match(emailExp)))
{
alert("Invalid Email.");
return false;
}
else
{
return true;
}
}
讓我強調這是在幾分鍾前起作用的,我沒有進行任何更改,只是重新啟動了瀏覽器和服務器! 它停止工作了。 這真令人沮喪!
嘗試這個:
onsubmit='if(!UserDataCheck()) return false;'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.