2014-02-05 3 views
0

HTML:Получить отправить идентификатор кнопки с onsubmit события

<form action="javascript:void(0)" method="post" onsubmit="form_process()"> 


<input type="submit" id="btn_id" value="Submit" /> 
</form> 

Фрагмент кода JavaScript:

function form_process(){ 


    $elem = $(this); 

    if(window.console){ 

    console.log(" button id = " + $elem.attr('id')); 


    } 



}// end if function form_process() 

Но консоль показывает id, как undefined. Проблема заключается в выборе кнопки отправки в jQuery. Как я могу получить кнопку отправки id?

ответ

0

В вашем коде this указан глобальный объект окна. Который похож на $(window)

Вариант 1:

проход this в форму

<form action="javascript:void(0)" method="post" 
     id="my-form" onsubmit="form_process(this)"> 

function form_process(obj){  

    $elem = $(obj).find(input[type="submit"]); 
    if(window.console){ 
     console.log(" button id = " + $elem.attr('id')); 
    } 

} 

Вариант 2: Ненавязчивый JS

$('#my-form').submit(function(){ 
    $elem = $(this); 
}); 
+0

дайте мне испытание, и пусть вы знаете –

+0

Должны нет быть одиночными цитатами вокруг 'find 'параметр метода? –

0

Вы можете использовать следующую структуру;

HTML:

<form action="javascript:void(0)" method="post"> 
    <input type="submit" id="btn_id" value="Submit" /> 
</form> 

JS:

// or you can use class for this form 
$('form').on('submit', function() { 
    $elem = $(this); 
    var id = $elem.children('input[type="submit"]').attr('id'); 
    if(window.console){ 
     console.log(" button id = " + id); 
    } 

}); 

Вот рабочая скрипку: http://jsfiddle.net/cubuzoa/qWvz9/1/

Смежные вопросы