2014-02-05 51 views
0

HTML:獲取提交按鈕的ID與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() 

但是控制檯顯示idundefined。問題是在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/