2014-07-11 95 views
-2

我使用JavaScript来验证我的HTML(检查,如果用户输入正确的数据)的源代码和它比简单的多,但问题是,当我按下提交按钮我看不到任何结果或提醒HTML JavaScript不工作或显示一个警告

<script type= "text/javascript"> 

    function checkname() 
    { 
     name = document.getElementById("myname"); 
     var reg= /^[A-Z][a-z]+$/ 
     if (!name.value.match(reg)) 
     { 
      alert("Please enter your name begin with a CAPITAL letter"); 
      return false; 
     } 


     if (name.value=="") 
     { 
      alert("you kindly forget to put your name here"); 
      return false; 
     } 
     return name.value("Welcome" + name + " to valet parking service VPS"); 
    } 

    </script> 

这是所有在脚本现在写在按钮中键入

<input type="submit" value=" submit " > 

HTML标签上的第一部分,这是写在哪表格

<form onsubmit = " checkname(); return false; "> 
+0

你说的 “验证我的HTML源代码” 是什么意思? – MightyPork

+1

,顺便说一句,你永远不会将'checkname()'函数绑定到提交按钮,所以很明显它不起作用。而且,你的函数中间有一个无条件的'return true;',所以其余的都不会被执行。 – MightyPork

+1

使用像萤火虫或铬开发工具的工具,看看你有什么js错误。 –

回答

0

这是错误的(你总是返回false就提交功能):

<form onsubmit = " checkname(); return false; "> 

试试这个:

<form onsubmit="return checkname();"> 

然后修改你的检查名函数是这样的:

function checkname() 
{ 
    var name = document.getElementById("myname"); 
    var reg= /^[A-Z][a-z]+$/ 
    if (!name.value.match(reg)) 
    { 
     alert("Please enter your name begin with a CAPITAL letter"); 
     return false; 
    } 

    if (name.value=="") 
    { 
     alert("you kindly forget to put your name here"); 
     return false; 
    } 

    name.value("Welcome" + name + " to valet parking service VPS"); 

    return true; 
} 
+0

但仍然没有工作没有警报通知 – mba3gar

0

这里是JSFiddle:http://jsfiddle.net/267wL/

HTML

<form action="demo.html" id="myForm" onsubmit = "checkname(); return false; " method="post"> 
    <p> 
     <label>First name:</label> 
     <input type="text" id="myname" /> 
    </p> 
    <input type="submit" value=" submit "/> 
</form> 

的JavaScript

function checkname() 
{ 
    var name = document.getElementById("myname"); 
    var reg= /^[A-Z][a-z]+$/; 
    if (!name.value.match(reg)) 
    { 
     alert("Please enter your name begin with a CAPITAL letter"); 
     return false; 
    } 
    name.value = "Welcome " + name.value + " to valet parking service VPS"; 

    return false; 
} 

您不必检查空值。如果name.value为空,您的正则表达式验证失败。

还要注意欢迎消息是在输入文本中设置的。奇怪的行为...

+0

仍然没有警报通知 – mba3gar

+0

您测试了JSFiddle链接吗?一切正常,问题必须是相对于你的JavaScript代码 –

0

返回true;将阻止所有以下代码。

+0

我做到了,但我仍然没有提醒通知它比奇怪,我不能解决它 – mba3gar

+0

@ mba3gar尝试把其他和警报:if(name.value ==“”){...} else {alert(name.value);}。当仍然没有提醒时,恐怕checkName()根本不会被调用。 –

0

尝试这个

<script> function checkname() { 
var x = document.forms["myForm"]["myname"].value; 
if (x==null || x=="") { 
    alert("First name must be filled out"); 
    return false; 
} 

}

<form name='myForm' action='action.php' onsubmit='return checkname()' method='post'> 
First name: <input type="text" name="myname"><input type="submit" value="Submit"></form>