Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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 JS验证没有';行不通_Javascript_Jsp - Fatal编程技术网

Javascript JS验证没有';行不通

Javascript JS验证没有';行不通,javascript,jsp,Javascript,Jsp,我试图验证我已经编写了JSP的表单中的座位数,提供了servlet。现在我试图用JS进行验证,但我做错了什么 <script> window.onload = function() {//zorgt ervoor dat eerst html-document wordt geladen vooraleer functies worden aangesproken console.log("voor vrijePlaatsen"); function valida

我试图验证我已经编写了JSP的表单中的座位数,提供了servlet。现在我试图用JS进行验证,但我做错了什么

<script>
window.onload = function() {//zorgt ervoor dat eerst html-document wordt geladen vooraleer functies worden aangesproken

    console.log("voor vrijePlaatsen");

    function validate_form(e) {
        console.log("in validate");

        var plaatsen = document.getElementById("plaatsen");
        var vrijePlaatsen = document.getElementById("beschikbaar");

        console.log(plaatsen.value);
        console.log(vrijePlaatsen.value);

        if (plaatsen.value === "") {
            alert("Gelieve een aantal plaatsen te reserveren");
            plaatsen.focus();
            e.preventDefault();
        }
        else if (plaatsen.value < 0) {
            alert("Geef een positief aantal plaatsen in");
            plaatsen.focus();
            e.preventDefault();
        }
        else if (plaatsen.value > vrijePlaatsen.value) {
            alert("U kan slechts " + vrijePlaatsen.value + " plaatsen reserveren./nU probeerde er " + vrijePlaatsen.value + " te reserveren");
            plaatsen.focus();
            e.preventDefault();
        }
        else if (isNaN(plaatsen.value)) {
            alert("Gelieve een getal in te geven.")
            plaatsen.focus();
            e.preventDefault();
        }
        return true;
    }

}

window.onload=function(){//zorgt-ervoor-dat-eerst html文档wordt-geladen-vooraleer函数worden-aangesproken
控制台日志(“voor vrijePlaatsen”);
功能验证表格(e){
console.log(“登录验证”);
var plaatsen=document.getElementById(“plaatsen”);
var vrijePlaatsen=document.getElementById(“beschikbaar”);
控制台日志(plaatsen.value);
console.log(vrijePlaatsen.value);
如果(plaatsen.value==“”){
警报(“Gelieve een aantal plaatsen te reserveren”);
plaatsen.focus();
e、 预防默认值();
}
否则如果(plaatsen.value<0){
警报(“Geef een positief aantal plaatsen in”);
plaatsen.focus();
e、 预防默认值();
}
否则如果(plaatsen.value>vrijePlaatsen.value){
警报(“U kan slechts”+vrijePlaatsen.value+“plaatsen reserveren./nU probeerde er”+vrijePlaatsen.value+“te reserveren”);
plaatsen.focus();
e、 预防默认值();
}
else if(isNaN(plaatsen.值)){
警惕(“Gelieve een getal在te geven。”)
plaatsen.focus();
e、 预防默认值();
}
返回true;
}
}


Cultuurhuis-保留
他是个文化人

voorstelling:

${voorstelling.titel}
尤特沃德:

${voorstelling.uitvoerders}
数据:

${voorstelling.datum}
普里斯:

${voorstelling.prijs}
弗拉特森

${voorstelling.vrijePlaatsen}



普拉特森

改变

<form method="post" action="${contextPath}/reservaties" >


另外,将
validate_表单
函数移出
onload
范围,或使用事件侦听器将其附加到
onload


另外,请在将来解释你的问题,这样人们就不必自己去解决:)

有两个问题

  • 单击提交按钮时,您试图调用
    validate\u form
    ,但如果表单是通过其他方式提交的,则不会调用
  • validate\u表单
    不是全局表单,因此,当您尝试调用它时,会得到一个引用错误
  • 在函数处于作用域时使用Javascript时,将事件处理程序绑定到表单的submit

    document.getElementsByTagName('form')[0].addEventListener('submit', validate_form);
    
    function validate_form(e) {
            console.log("in validate");
    

    我会在表单中添加一个ID,以便于使用JavaScript进行选择。

    您也许应该看看这个答案:我认为您的提交不取决于onclick函数的结果。
    <form method="post" action="${contextPath}/reservaties" onsubmit="return validate_form();">
    
    document.getElementsByTagName('form')[0].addEventListener('submit', validate_form);
    
    function validate_form(e) {
            console.log("in validate");