2013-03-19 148 views
5

我有情況,我需要跟蹤哪些提交按鈕點擊爲了做設置變量根據。以下是測試代碼,確定與多個提交按鈕點擊提交按鈕的價值

<script> 
function submitForm(form) { 
    alert(document.getElementById('sb').value); 
    if (document.getElementById('sb').value=="One") { 
     //Do something 
    } 
    return true; 
} 
</script> 


<form action="" method="get" onsubmit="return submitForm(this);"> 
    <input type="submit" name="sb" value="One"> 
    <input type="submit" name="sb" value="Two"> 
    <input type="submit" name="sb" value="Three"> 
</form> 

即使我單擊按鈕兩或三,警報始終顯示一個。但是url可以通過點擊參數改變。如何提醒可點擊提交按鈕中的值?

注:我想出來的JQuery

編輯解決方案:我改變碼位的的onsubmit調用submitForm(本); 問題是甚至使用document.forms [0] .sb.value其未定義,因爲document.forms [0] .sb返回所有提交按鈕的節點列表,與document.getElementById('sb')相同

回答

0

繼續上面的答案:

<script> 
function m(value) { 
alert(value); 
} 
</script> 

<input type="button" value="One" onClick="m(this.value)"> 
<input type="button" value="Two" onClick="m(this.value)"> 
<input type="button" value="Three" onClick="m(this.value)"> 

當然,你可以看到什麼是ID:

<input type="button" id='myId' value="Three" onClick="m(this.id)"> 
1

我建議你使用按鈕,而不是多個提交按鈕。在按鈕的onclick屬性中,使用javascript提交表單。

$(":submit").live('click', function() { 
    alert($(this).val()); 
}) 
0

你可以使用jQuery類似嘗試像這樣,

<form> 
     <input class="myButton" type="submit" name="sb" value="One"> 
     <input class="myButton" type="submit" name="sb" value="Two"> 
     <input class="myButton" type="submit" name="sb" value="Three"> 
    </form> 

    <script type="text/javascript"> 
     $(".myButton").on('click', function() { 
     alert($(this).val()); 
     }); 
    </script> 
+0

無jQuery的溶液等待... – 2017-07-21 12:54:15

1

我對JavaScript有點新;請原諒我,如果我錯了。如果你的if語句有第三個=符號,它會不會有所作爲?

它應該是:

if (document.getElementById('sb').value === "One") { 
    //Do something 
} 
return true;