Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果源验证没有问题,请打开新窗口_Javascript_Html - Fatal编程技术网

Javascript 如果源验证没有问题,请打开新窗口

Javascript 如果源验证没有问题,请打开新窗口,javascript,html,Javascript,Html,我有一个验证一些基本表单信息的页面。用户输入信息后,如果验证没有问题,则应单击打开一个新窗口。如果表单字段存在问题,应提示用户修复错误,并且窗口不应打开。现在我试图为此编写一个代码,但问题是无论表单是否有问题,我的窗口都会打开。只有当窗体没有问题时,窗口才会打开 如果有人能为我指出解决这个小问题的正确方向,我将不胜感激 代码如下: var name = document.getElementById("name").value; var phone = document.getElementBy

我有一个验证一些基本表单信息的页面。用户输入信息后,如果验证没有问题,则应单击打开一个新窗口。如果表单字段存在问题,应提示用户修复错误,并且窗口不应打开。现在我试图为此编写一个代码,但问题是无论表单是否有问题,我的窗口都会打开。只有当窗体没有问题时,窗口才会打开

如果有人能为我指出解决这个小问题的正确方向,我将不胜感激

代码如下:

var name = document.getElementById("name").value;
var phone = document.getElementById("phone").value;
var nat = document.getElementById("nat").value;
var address = document.getElementById("address").value;
var town = document.getElementById("town").value;
var zip = document.getElementById("zip").value;
var userName = document.getElementById("userName").value;


if (name == "" )
{
window.alert("Please Enter your Full Name");    
}


checkNr= isNaN(phone)
if(checkNr == true)
{
window.alert("PHONE NUMBER: You can only enter numbers. Please try again");
}

else if (phone == "")
{
window.alert("please enter your phone number")  ;
}

if (nat == "")
{
window.alert("Please enter your nationality")
}


if(town =="")
{
window.alert("Please enter your town")
}

if(zip=="")
{
window.alert("Please enter your zip code")
}


if (userName=="")
{
window.alert("Please enter your username")
}

}
</script>
var name=document.getElementById(“name”).value;
var phone=document.getElementById(“phone”).value;
var nat=document.getElementById(“nat”).value;
var address=document.getElementById(“地址”).value;
var town=document.getElementById(“town”).value;
var zip=document.getElementById(“zip”).value;
var userName=document.getElementById(“用户名”).value;
如果(名称==“”)
{
window.alert(“请输入您的全名”);
}
checkNr=isNaN(电话)
如果(checkNr==true)
{
window.alert(“电话号码:您只能输入号码,请重试”);
}
else if(电话==“”)
{
提醒(“请输入您的电话号码”);
}
如果(nat==“”)
{
窗口提示(“请输入您的国籍”)
}
如果(城镇==“”)
{
窗口。警报(“请进入您的城镇”)
}
如果(zip==“”)
{
window.alert(“请输入您的邮政编码”)
}
如果(用户名==“”)
{
window.alert(“请输入您的用户名”)
}
}
HTML


全名:
电话号码:
国籍:
地址:
城镇:
邮政编码:
用户名:
上课日期:
现在,
validate
openWindow
都是按顺序写入的,并且无论其中一个的结果如何都将执行

你能做的就是这样

function validate() {
    //If the validation fails, return false, else return true.
}
onClick
属性更改为

onclick="if(validate()) openWindow();"
现在,如果验证成功,将打开一个新窗口。如果没有,则在HTML中没有bueno.

表示依次调用
validate
函数和调用
openWindow
函数。因此,无论验证状态如何,窗口都将打开

我建议在函数
validate
的末尾根据验证的状态调用函数
openWindow

HTML将是

剧本应该是

function validate () {
  // do the necessary stuff here
  if (!hasErrors) {
    openWindow();
  }
}

您的代码似乎不包含任何决定何时应打开和不应打开窗口的条件逻辑。
function validate () {
  // do the necessary stuff here
  if (!hasErrors) {
    openWindow();
  }
}