javascript - 如果未填写 inputField,则禁用导航到下一页

标签 javascript jquery html

如果页面为空,我想阻止用户访问下一页 输入字段。当该字段为空并且我单击按钮时,警报确实会显示,但我可以单击“确定”,然后进入下一页。

<script type="text/javascript">
    window.onload = function(){

        function checkFilled(inputField) {

            if(inputField.value.length > 1) {
                return true; 
                }
            else {
                    alert('field1 is not filled in');
                    $("#button1").click(function(e){
                    e.preventDefault();     
                    });                                 
                    return false; 
                }
            };  

            document.getElementById('button1').onclick = function() { 

            var field1 = document.getElementById('field1');
            checkFilled(field1);    
            };
        };  

</script>






<input type="text" name="field1"  id="field1"/>

    <a href="nextpage.html">

        <div id="button1"></div>

    </a>

最佳答案

您使用了a tag尽管 inputField 为空,但 href 属性已设置并让您立即进入下一页。这应该可以满足您的要求:

window.onload = function(){
  function checkFilled(inputField) {
    if(inputField.value.length > 1) {
      return true;
    }
    else {
      alert('field1 is not filled in');
      return false;
    }
  };
  document.getElementById('button1').onclick = function() {
    var field1 = document.getElementById('field1');
    return checkFilled(field1);
  };
}; 
<input type="text" name="field1"  id="field1"/>
<form action="nextpage.html">
    <input id="button1" type="submit" value="next">
</form>

或者,如果您更喜欢使用 a 标签而不是按钮:

function checkFilled() {
  if(document.getElementById("field1").value.length > 1) {
    window.location.href="nextpage.html";
  }
  else {
    alert('field1 is not filled in');
    return false;
  }
}
<input type="text" name="field1"  id="field1"/>
<a href="#" onclick="checkFilled();">next</a>

关于javascript - 如果未填写 inputField,则禁用导航到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36529585/

相关文章:

Javascript:返回字符串中的最后一个单词

javascript - Rails 选择建议和远程数据

javascript - 如何使用 jQuery 修改属性 ROWSPAN?

javascript - qTip 不适用于 Zend

javascript - Jquery unwrap() 方法?

html - 显示:内联 block 无法正常工作

javascript - 单击时显示文本

javascript - 从值数组中设置 Angular 中选定的选项

javascript - 元素之间的动画延迟

javascript - 在带有文本的 span 之后创建内容可编辑的 div