2012-12-21 34 views
1

我是一個總的javascript noob。我無法將我有的腳本(提交時的功能)更改爲我想要的腳本,而腳本隨處可以單擊。下面是我的腳本:改變javascript按鈕到onclick的任何地方

提示%:

<p>Split by: <input id="parties" /></p> 
<p>Tip amt: <input id="tip" disabled="disabled" /></p> 
<p>Total Bill: <input id="total" disabled="disabled" /></p> 
<p>Each Party: <input id="each" disabled="disabled" /></p> 
<p><input type="submit" /></p> 


function calculate() { 

var amount = $('#amount').val(); 
var percentage = $('#percentage').val(); 
var parties = $('#parties').val(); 

var tip = amount * (percentage/100) 
var each=tip/parties; 
var total = Number(amount) + tip; 

$('#tip').val(tip.toFixed(2)); 
$('#total').val(total.toFixed(2)); 
$('#each').val(each.toFixed(2)); 

return false;} 

$('#calculator').submit(calculate); 

我嘗試使用的document.ready,要麼我沒有使用它的權利或沒有奏效。

+0

你是什麼意思的「點擊任何地方」?像這樣 - >'$(document).on('click',calculate);' – adeneo

+0

「點擊任何地方」?你能定義更多嗎?像'$(document).click()',或者'$(':input')。blur()'(點擊一個控件)? –

+0

你沒有顯示足夠的代碼 - 什麼是#calculator,一個表單?當你點擊頁面上的任何地方,而不僅僅是提交按鈕時,你是否希望它更新字段? –

回答

2

改變這一點:

$('#calculator').submit(calculate); 

這樣:

$('#calculator').click(function(e){ 
    e.preventDefault();//you might not need this, but that is unclear 
    calculate(); 
}); 

在這裏看到的默認行爲預防一些文檔:http://api.jquery.com/event.preventDefault/

編輯注:我在你的問題,如果不清楚這個:

<p><input type="submit" /></p> 

應該是這樣的:

<p><input id="calculator" type="submit" /></p> 
+0

注:我在這裏做了一些非常廣泛的假設......關於按鈕和ID等...... –

+0

非常感謝。非常感激! – Celeste