简体   繁体   English

表单正在提交但未提交

[英]Form is submitting without submit

I have a form element with no input type='submit'. 我有一个表单元素,没有输入type ='submit'。 I use a button with an onclick to a function call like so: 我使用带有onclick的按钮来调用函数,如下所示:

<form method='post' action='build_meet.html' id='meet_builder_form'>
....
<button onclick='submit_this_form()' >Submit</button>
</form>

The function is defined as: 该函数定义为:

function submit_this_form() {
    var my_teams = [];
    for ( var i = 0 ; i < window.my_meet.teams.length; i++ ) {
        my_teams.push( window.my_meet.teams[i].team_id );
    }
    var my_teams_str = my_teams.join('|');
    document.getElementById('team_ids_list').value = my_teams_str;
    alert ( my_teams_str );
    //document.getElementById('meet_builder_form').submit();
}

Do note that the line that actually submits the form is commented out. 请注意,实际提交表单的行已被注释掉。 When i click the button, the alert is not generated and the form submits anyway. 当我单击按钮时,不会生成警报,并且表单仍会提交。

Thoughts? 思考?

Prevent the default action of the form which is submit . 防止这是形式的默认操作submit

function submit_this_form(e) {
    e.preventDefault();
    var my_teams = [];
    for ( var i = 0 ; i < window.my_meet.teams.length; i++ ) {
        my_teams.push( window.my_meet.teams[i].team_id );
    }
    var my_teams_str = my_teams.join('|');
    document.getElementById('team_ids_list').value = my_teams_str;
    alert ( my_teams_str );
    //document.getElementById('meet_builder_form').submit();
}

HTML HTML

<form method='post' action='build_meet.html' id='meet_builder_form'>
....
<button onclick='submit_this_meet(event)' >Submit</button>
</form>

Try this, 尝试这个,

<form method='post' action='build_meet.html' id='meet_builder_form'>
....
<button type="button" onclick='submit_this_form()' >Submit</button>
</form>

Kinjal is correct. 金贾尔是正确的。 The default type for button (when not declared) is "submit". 按钮的默认类型(未声明时)为“提交”。 You must declare type="button" to avoid button submitting the form. 您必须声明type="button"以避免按钮提交表单。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM