[英]Form validation with JS not working
HTML
<form name="suggestion" method="post" action="suggestion.php"
class="elegant-aero" onSubmit="return validate()" >
<label>
<span>Message :</span>
<textarea id="Message" name="message" placeholder="Your Message to Us"></textarea>
</label>
<input type="submit" class="buttonc" value="SEND" onclick="validate()">
</form>
JavaScript的
function validate() {
var message = document.suggestion.message.value;
if (message == "") {
alert("Message box should not be leaved empty");
return false;
} else {
return true;
}
}
难道我做错了什么? 我的验证功能不起作用。 请给我一些建议。
我认为主要的错误在于,按照我的理解, document.suggestion.message.value
不是有效的选择器。 尝试使用getElementById
来选择该表单。
要通过名称访问表单,您必须执行以下操作:
var message = document.forms["suggestion"].elements["message"].value;
但是更好的方法是使用ID 。
但
最简单的方法是在<textarea>
设置所需的属性
<textarea required>
代码不错,但是您必须在文档中正确放置脚本
看这里http://jsfiddle.net/wLrg26s0/4/在jsbin的左侧no wrap - in <body>
选择no wrap - in <body>
它的意思是代码看起来像
<body>
<!-- page -->
<script>
//js here
</script>
<body>
函数以这种方式声明转到window
名称空间。 它的全局名称空间,并存在onSubmit
搜索validate
功能。
如果在jsbin onLoad
左侧选择,则代码看起来像(并且不要忘记单击运行)
<script>
$( document ).ready(function() {
//js here
});
</script>
而且脚本不起作用,因为函数是在其他地方声明的。 要解决此问题,您必须以这种方式声明功能
window.validate = function(){ /*code */}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.