Javascript 知道为什么表单提交为空时不显示警报吗?

Javascript 知道为什么表单提交为空时不显示警报吗?,javascript,Javascript,大家好,我正在尝试进行表单检查,但我使用javascript所做的最基本的事情是不知道我做错了什么 html: 三叉戟 提前感谢。还有很多其他事情: 在对象上下文之外使用“this”将引发错误 如果没有错误,您将丢失报税表 在JSFIDLE中,您没有引用事件手 琴弦 试试这个: ... <form onsubmit="return formCheck(this);" method="POST" action="check.php" > ... 小提琴有一些毛病: return

大家好,我正在尝试进行表单检查,但我使用javascript所做的最基本的事情是不知道我做错了什么

html:

三叉戟


提前感谢。

还有很多其他事情:

  • 在对象上下文之外使用“this”将引发错误
  • 如果没有错误,您将丢失报税表
  • 在JSFIDLE中,您没有引用事件手
  • 琴弦

    试试这个:

    ...
    <form onsubmit="return formCheck(this);" method="POST" action="check.php"  >
    ...
    

    小提琴有一些毛病:

    • returnformcheck()周围没有引号--尽管这里给出的代码中有它们
    • JS代码被配置为在加载时执行,这使得全局上下文无法访问
      formCheck
      (需要将设置更改为“no wrap”)
    代码有问题:

    • 在事件处理程序
      中,此
      窗口
      对象,而不是表单。窗口已经有一个
      名称
      属性,该属性与您尝试执行的操作冲突。而不是以这种方式工作,考虑用DOM搜索方法来保存元素,如<代码> GETelEnMyBID,<代码> QueRealStudioOrth> <代码> >

    function formCheck() {
        var el = document.querySelectorAll("input[name=name]")[0];
        if(el.value == ""){
            alert("Je bent vergeten je naam in te vullen");
            el.focus();
            return false;
        }   
    }
    
    小提琴:

    (只需再次点击run,以另一种方式进行尝试。POST与JSFIDLE中的正常方式不同。)

    只需将this关键字传递给formCheck函数即可。 html:


    我查过了。除非您已禁用浏览器的javascript功能,否则它将正常工作。
    ...
    <form onsubmit="return formCheck(this);" method="POST" action="check.php"  >
    ...
    
    function formCheck(myForm) {
        if(myForm.name.value == ""){
            alert("You forgot to enter your name");
            myForm.name.focus();
            return false;
        }
        return true;
    }
    
    function formCheck() {
        var el = document.querySelectorAll("input[name=name]")[0];
        if(el.value == ""){
            alert("Je bent vergeten je naam in te vullen");
            el.focus();
            return false;
        }   
    }
    
    <form onSubmit= "formCheck()" type="POST" action="#" >
        <label for="name">Name:</label>
        <input type="text" name="name" id="name_input" onBlur="formCheck()">
        <input  type="checkbox" id="valid_name" name="valid_name" disabled>
        <button type="submit" value="Submit">Submit</button>
     </form>
    
    function formCheck() {
      var val = document.getElementById('name_input').value;
        if(val!='')
          document.getElementById('valid_name').checked = true; 
        else      
          alert('Looks like you forgot your name!');        
    }
    
    <form onsubmit= "return formCheck(this);" method="POST" action="check.php"  >
    name: <input type="text" name="name" onchange="valid_name.checked = true;">
    <input  type="checkbox" disabled="disabled" name="valid_name">
    <input type="submit" value="Submit">
    </form>
    
    function formCheck(frm) {
        if(frm.name.value == ""){
            alert("You forgot to enter your name");
            frm.name.focus();
            return false;
        }
    }