gpt4 book ai didi

javascript - 验证 Javascript 中的表单不起作用

转载 作者:行者123 更新时间:2023-11-30 17:50:12 24 4
gpt4 key购买 nike

我正在尝试使用 JavaScript 验证表单,但代码似乎没有执行。正在使用工作正常的 php 处理表单。但是,验证不起作用。有人可以帮我解决这个问题吗?

<script>
function validateForm(){
var x = document.getElementById('name');
var email = document.getElementById('email');
var num = document.getElementById('number');
var size = document.getElementById('size');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var atpos=email.value.indexOf("@");
var dotpos=email.value.lastIndexOf(".");

if (x.value == null || x.value == "") {
alert("Please Enter your name");
x.foucs;
x.style.background = 'Yellow';
return false;
}
if(!filter.test(email.value){
alert('Please provide a valid email address');
email.focus;
email.value="";
return false;
}
if(num.value == null && num.value == ""){
alert('Please enter your mobile number');
num.focus();
}
if(!isNan(num.value){
alert('Please enter a valid number');
num.focus();
num.style.background();
return false;
}
return false;


}
</script>

这是我的 html 代码。

      <form method="post" name="myForm " onsubmit="return validateForm()" action="myprocessingscript.php" >                                         
<input type="text" name="name" placeholder="Name" class="text" id="name" />
<input name="email" placeholder="Email" type="text" class="text" id="email"/>

<input name="number" placeholder="Mobile Number" type="text" class="text" id="number"/>

<input name="size" placeholder="Size" type="text" class="text" id="size" />
<input type="Submit" value="Submit" class="button">

最佳答案

Working fiddle

更正 foucs 的拼写并确保所有引用都有括号,例如:

email.focus();

没有括号,函数不被调用。它是有效的 Javascript,但不会执行任何操作。

你还漏掉了结束符):

if(!filter.test(email.value){
// ^ add another )

这里:

if(!isNan(num.value){
// ^ add another )

!isNan(....) 应该是 isNaN(....)。 Javascript 区分大小写,您不应该在这里“注意”它。 isNaN 表示“不是一个数字”,所以它已经被“标记”了。

在下面一行中,style 没有后台功能。看起来你想在这里赋值而不是调用函数:

num.style.background(); // change to assign value.

在这一行中,将 && 更改为 ||:

if(num.value == null && num.value == ""){
// ^ should be ||

最后,去掉最后的return false

关于javascript - 验证 Javascript 中的表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com