Javascript 更改表格';s onsubmit函数

Javascript 更改表格';s onsubmit函数,javascript,html,Javascript,Html,我希望在执行任何其他onsubmit操作之前执行验证。不幸的是,我无法控制表单上onsubmit属性的值。例如: <form id="myForm" onsubmit="return stuffICantChange()"></form> 谢谢你的帮助 如果这是一份副本,请在标记之前告知我,以便我在必要时反驳索赔 编辑: 我的要求代码: <form id="form_ContactUs1" name="form" method="post" action="ind

我希望在执行任何其他onsubmit操作之前执行验证。不幸的是,我无法控制表单上onsubmit属性的值。例如:

<form id="myForm" onsubmit="return stuffICantChange()"></form>
谢谢你的帮助

如果这是一份副本,请在标记之前告知我,以便我在必要时反驳索赔

编辑:

我的要求代码:

<form id="form_ContactUs1" name="form" method="post" action="index.php" onsubmit="return  Validator1(this) &amp;&amp; ajaxFormSubmit(this); return false">
<div class="form">

    <div class="form-staticText">
        <p>We look forward to hearing from you! Please fill out the form below and we will get back with you as soon as possible.</p>
    </div>


    <div class="form-group">
        <input class="form-control" placeholder="Name" id="IDFormField1_Name_0" name="formField_Name" value="" size="25" required="" type="text">
        <span class="form-control-feedback"></span>
    </div>


    <div class="form-group">
        <input class="form-control" placeholder="Email" id="IDFormField1_Email_0" name="formField_Email" value="" size="25" required="" type="email">
        <span class="form-control-feedback"></span>
    </div>


    <div class="form-group">
        <input class="form-control bfh-phone" data-format="ddd ddd-dddd" placeholder="Phone" id="IDFormField1_Phone_0" name="formField_Phone" value="" size="25" type="tel">
        <span class="form-control-feedback"></span>
    </div>


    <div class="form-group">
        <textarea class="form-control" placeholder="Comments" name="formField_Comments" id="IDFormField1_Comments_0" cols="60" rows="5" required=""></textarea>
        <span class="form-control-feedback"></span>
    </div>



    <div class="row submit-section">

        <input name="submit" class="btn btn-success submit-button" value="Submit" type="submit">
    </div>
</div>

除了已经执行的函数外,您应该能够在
#myForm
中添加另一个
onsubmit
函数:

function myFunction() {
    ...
}

var myForm = document.getElementById('myForm');
myForm.addEventListener('submit',myFunction,false);
试一试


这将在每次提交表单时触发,然后end return false将停止表单的默认操作

试试这个,它是纯Javascript:

function overrideFunction(){
  console.log('Overrided!');
}
var form;
form = document.querySelector('#myForm');
form.setAttribute('onsubmit','overrideFunction()');

注意。

您应该在表单中的每个字段上触发一个更改事件以检查验证

$('input').on('change', function(e) {
   if($(this).val() == '') {
        console.log('empty');
   } 
});
这将帮助用户更快地等待提交

您也可以在提交之前尝试单击事件

$('#formsubmitbutton').on('click', function(e) {
   //your before submit logic

   $('#form').trigger('customSubmit'); 
});

$('#form').on('customSubmit', function(e) {
  //your normal submit
});
请尝试以下代码:

$("#myForm").on('submit',function() {
    console.log("hi");
});

它可能会帮助您@Jordan S:上面的代码就是一个例子。正在调用的是onsubmit=“…”中的一个,但我正在尝试覆盖它。我正在尝试添加要在第一个函数之前运行的函数。您是否需要另一个函数
stuffICantChange()
仍在运行?如果没有,你能用一个空函数覆盖它吗?即使您这样做了,您是否可以将其保存为另一个函数,然后用空函数覆盖它,然后使用addEventListener按正确的顺序添加函数?我希望我可以这样做,但是,函数的名称是不可预测的,将在DOM中的onsubmit=“…”之后运行。不过,这需要在之前发生。不过,我已经这样做了,我想在提交过程中重新验证整个表单。我喜欢这种方法,但是,我不能总是保证表单会有一个提交按钮,或者表单中的所有按钮或用于提交的按钮。我想问题可能在于加载DOM的方式。。为什么不尝试将带有javascript代码的标记放在最后一个内呢?no on tag@NathanRobb我的脚本在中,但我只在
$(document.ready()上运行我的逻辑
$('input').on('change', function(e) {
   if($(this).val() == '') {
        console.log('empty');
   } 
});
$('#formsubmitbutton').on('click', function(e) {
   //your before submit logic

   $('#form').trigger('customSubmit'); 
});

$('#form').on('customSubmit', function(e) {
  //your normal submit
});
$("#myForm").on('submit',function() {
    console.log("hi");
});