单击按钮时window.location无法正常工作

时间:2012-10-26 23:14:33

标签: javascript

查看此链接: http://humorjots.com/Barry/BarryWashington.htm

脚本中的部分说:

if(emailInput.value != '' && zipInput.value != ''){
    window.location = "sea206.html";
}

由于某种原因无法加载sea206.html。但是,当您在开发人员控制台中键入window.location = 'sea206.html'时,它会加载页面。我不明白为什么单击按钮时它不起作用。 if语句确实有效。如果在语句中插入了警报,则在单击该按钮时会运行警报。

3 个答案:

答案 0 :(得分:4)

你的代码发生了什么,它执行按钮的默认功能,它将自动提交表单。

解决这个问题的方法是你必须在submitButton.onclick函数上添加return false,这样它就不会提交表单并重定向到你想要的位置

if( emailInput.value != '' && zipInput.value != '')
{
    window.location = "/Barry/sea206.html";
    return false;
}

答案 1 :(得分:3)

按钮的默认操作是提交表单。这会覆盖您的位置更改。如果您实际上没有提交任何内容,现在您不需要包含<form>元素。但是,如果您确实需要非提交按钮,则需要使用type="button"属性。

答案 2 :(得分:1)

当我转到您的页面并单击两个输入字段并将其清空时,它将自动填写您的占位符文本。所以它永远不会是空的。

当我在控制台中输入emailInput.value时,我会得到"Email"。与ZipCode类似。

所以你应该试试

if (emailInput.value != 'Email' && zipInput.value != 'Zip Code') { 
  window.location.href = "sea206.html"; 
}

我阅读了您的脚本代码并写了submitbutton.onclick ...尝试在按钮中创建onclick事件:

<button id="submitButton" onclick='javascript:submitForm();' />

<script>...</script>部分使用此javascript代码:

function submitForm() {
  if (emailInput.value != 'Email' && zipInput.value != 'Zip Code') { 
    window.location.href = "sea206.html"; 
  }  
}

有效吗?