2012-07-11 63 views
0

我的提交功能不起作用。提交功能不起作用

我的PHP文件有两种形式。这两个表单标签都有一个onsubmit属性,链接到相同的JavaScript文件。第一种形式的onsubmit正在工作。该函数由第二形式被称为已经简化以这样的:

function UserDataCheck() 
{ 
    return false; 
} 

form标签是

form name='user_form' method='post' onsubmit='return UserDataCheck();' 

此标记内<封闭>和双引号,并在PHP回波-ED出文件。

请帮忙。这真让我抓狂!之前我在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; 
} 
} 

我要强调,这是以前的工作几分钟,我不需要做任何改变,只是重新启动浏览器和服务器的功能!它停止工作。这真令人沮丧!

+0

你能告诉其他人呢?你有没有内嵌脚本的提交按钮 – mplungjan 2012-07-11 09:21:14

+0

这与php – albertjan 2012-07-11 09:21:21

+2

很少有关系,请提供一些更多的表单html代码 – MaVRoSCy 2012-07-11 09:21:36

回答

0

试试这个:

onsubmit='if(!UserDataCheck()) return false;' 
+0

我的代码不是一团糟!形式就像那样!没有单引号错过!当然还有一个。 – 2012-07-11 09:43:07

+0

好吧,一分钟前我的另一个提交按钮正在调用一个函数,并使用onsubmit进行数据验证,现在即使这样也行不通! – 2012-07-11 09:44:08

+0

btw chris,你的解决方案不起作用!它仍然提交。 – 2012-07-11 09:44:29