2013-12-04 3 views
0

У меня есть элемент формы без ввода типа = 'submit'. Я использую кнопку с OnClick для вызова функции следующим образом:Форма отправляется без отправки

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

Функция определяется как:

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(); 
} 

Обратите внимание, что линия, которая на самом деле представляет форму закомментирована. Когда я нажимаю кнопку, предупреждение не генерируется, и форма все равно.

Мысли?

+2

кнопки без типа, определенного также отправить форму в некоторых браузерах. поэтому type = "button" исправит это. – Rodrigo

ответ

1

Предотвратите действие по умолчанию формы 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

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

Попробуйте это,

<form method='post' action='build_meet.html' id='meet_builder_form'> 
.... 
<button type="button" onclick='submit_this_form()' >Submit</button> 
</form> 
Смежные вопросы