2015-06-19 103 views
2

我是一个试图学习创建表单页的新手。有人能告诉我为什么提交按钮不起作用吗?我认为有JavaScript函数可以解决这个问题。由于无法cllick提交按钮

<script type="text/javascript"> 
function submitform() 
{ 
document.forms["contactform"].submit(); 
} 

</head> 
<body> 

     <div id="contact-form"> 
         <form method="POST" id="contactform" action="bespoke-form-handler.php"> 
          <div> 
           <label for="name">Name:</label> 
           <input type="text" id="name" name="user_name" /> 
          </div> 
          <div> 
           <label for="mail">E-mail:</label> 
           <input type="email" id="mail" name="user_email" /> 
          </div> 


          <div class="button"> 
           <button type="submit" name="submit"><a href="javascript: submitform()">Submit</a></button> 
          </div> 
         </form> 
<script language="JavaScript"> 
var frmvalidator = new Validator("contactform"); 
frmvalidator.addValidation("name","req","Please provide your name"); 
frmvalidator.addValidation("mail","req","Please provide your email"); 
frmvalidator.addValidation("mail","email","Please enter a valid email address"); 
</script> 

</body> 

回答

3

问题是按钮的名称,因为你已经用它作为submitdocument.forms["contactform"].submit将参照元素不提交方法,这样会导致错误像Uncaught TypeError: document.forms.contactform.submit is not a function

<button type="submit" name="someothername"><a href="javascript: submitform()">Submit</a></button> 

D EMO:ProblemSolution

+0

他是对的,你知道我 –

+0

改名字,但仍然没有区别.... – MSkiLLz

+0

@MSkiLLz在您的浏览器控制台的任何错误 –

0

这是没有意义的有<button>标签内<a>标签,因为它会阻止威盛提交按钮会自动完成标准的HTML表单提交,只是将其删除。

你也不需要你的第一个JavaScript函数来提交你的表单,提交按钮负责这个。

0

更改您的提交按钮

<input type="submit" name="submit" /> 
+0

如果你想调用一个JavaScript函数,而不是通过onClick =“functionName()” –

+0

调用它,我在上面添加了这一行下面的按钮标签,它创建了一个新的字段,然后旧按钮开始工作。当我将按钮标签编辑为“输入”标签时,它不起作用。奇怪。 – MSkiLLz