javascript - 如何禁用Form Onsubmit功能JSP

标签 javascript jquery jsp

我有两个单选按钮(是和否),当用户选择"is"时,将出现一组文本框,并且需要至少有一个条目才能提交。如果用户选择“否”,他/她可以在不输入任何内容的情况下提交。除了“否”部分之外,我的一切都正常。 验证功能在表单内工作,当所选按钮为“否”时是否可以禁用它?

  <script type="text/javascript">

function checkEvent() {
    console.log("infunc");
    if(document.getElementById('events_yes').checked){
        document.getElementById('if_events_yes').style.display = "block";
        }
    else{
        document.getElementById('if_events_yes').style.display = "none";
        document.getElementById('myForm').removeAttribute("onsubmit","");

    }
}
</script>

<form action="ResponseDB"  method="post" id="myForm">
<input name="tipid" value="<% out.println(tipid);%>" type = "hidden">
Any events to report?<br>
<input type="radio" name="events" onclick="checkEvent()" id="events_yes" value="no">Yes<br>
<input type="radio" name="events" onclick="checkEvent()" id="events_no" value="yes" checked>No<br>


<div id="if_events_yes" style="display:none">
<br><br>
Firewall:<br>
<textarea rows="5" cols="80" name="firewall"></textarea><br>
IDS/IPS:<br>
<textarea rows="5" cols="80" name="ids"></textarea><br>
Web Content Filtering/Proxy:<br>
<textarea rows="5" cols="80" name="proxy"></textarea><br>
Deep packet inspection:<br>
<textarea rows="5" cols="80" name="dpi"></textarea><br>
Network malware protection devices (FireEye, Damballa, etc.):<br>
<textarea rows="5" cols="80" name="net_malware"></textarea><br>
Anti-virus software:<br>
<textarea rows="5" cols="80" name="av" id="av"></textarea><br>
Forensics Tools:<br>
<textarea rows="5" cols="80" name="forensics"></textarea><br>
Tripwire:<br>
<textarea rows="5" cols="80" name="tripwire"></textarea><br>
Memory Dumps:<br>
<textarea rows="5" cols="80" name="memdumps"></textarea><br>
Email logs:<br>
<textarea rows="5" cols="80" name="email_logs"></textarea><br>



    </div>
    <input type="submit" value="Submit">
</form>

<script>

    onsubmit=function() {
        var t = document.getElementsByTagName("textarea"),
            l = 0;
               for(var i = 0; i < t.length; i++){
                l = l + t[i].value.trim();
               }
                if (l < 1) {
                            alert("Please have at least one entry");
                return false;
        }

    }
</script>

这是我正在处理的部分。当用户选择“否”时,我是否可以禁用 onsubmit 功能?

最佳答案

您应该能够使用 w3schools 中的这个示例。他们的示例发送到一个 asp 页面,但这并不重要。

我已在此处复制了您需要的部分,但有关其工作方式或原因的更多详细信息,请访问上面的链接。

JavaScript 部分

像这样的 JavaScript 函数,但检查单选按钮的状态:

function validateForm() {
 //here just get the value(s) from your radio(s)
 var x = document.forms["myForm"]["fname"].value;
 //check the value
 if (x == null || x == "") {
     alert("Name must be filled out");
     //this prevents the submit to your server
     return false;
 }
}

表单部分

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">

关于javascript - 如何禁用Form Onsubmit功能JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505335/

相关文章:

javascript - promise 的轻量级实现

jquery - JQM 模板中未正确添加 CSS

javascript - 预加载图像以设置为背景图像

jsp - 如何从表示 JSP 的字符串呈现 Spring View ?

java - 单击按钮时,下载 PDF 形式的 jsp 表

javascript - 如何计算对象数组中唯一位置的总数?

javascript - Discord.js 从旧消息中读取 react

javascript - 为什么这个 JavaScript 映射不是无限循环?

python - 如何根据是否选择了选项来隐藏或显示 WTForms 字段

java - 欧元货币出现问号?