2012-06-26 83 views
0

的Html提交和計算

`

<fieldset id="persoon"> 
    <legend>mijn gegevens</legend> 
<table> 



<tbody><tr> 
<td> 
    <label for="bg">Auto gebruik 1 op</label> 
    </td> 
    <td> 
    <input id="bg" name="bg" size="30" type="number" placeholder="Benzine gebruik?"> 
    </td> 
</tr> 

<tr> 
    <td> 
    <label for="kilometer">kilometer per jaar</label> 
    </td> 
    <td> 
    <input id="kilometer" z="" name="kilometer" size="30" type="number" placeholder="ex: 120000 km/pj"> 
    </td> 
    </tr> 
    <tr> 
     <td> 
    <label for="benzine">prijs benzine </label> 
    </td> 
    <td> 
    <input id="benzine" name="benzine" size="30" type="number"> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    <input id="submit" type="submit" value="bereken"> </td><td> 
    </td></tr> 
    <tr> 
     <td> 
    <label for="berekening">Besparing </label> 
    </td> 
    <td> 
    <input id="berekening" name="berekening" size="30" type="number"> 
    </td> 
    </tr> 

`

使用Javascript/jQuery的

$('#submit').click(function(evt) { 
evt.preventDefault(); // this will prevent the form from being submitted 
var bg = parseFloat($('#bg').val()); // parseFloat for floating point 
var bf = parseFloat($('#kilometer').val()); 
var bd = $('bf').val($('bf').val() + $('bf').val()/bg); 
var bz = parseFloat($('#benzine').val()); 
var total = bz * bd ; 
total = total.toFixed(2); 

}); 

確定,所以我想要做到的是,有人在填補形式:

1: howmany kilometers on 1 liter gas 
    2: howmany kilometers you drive a year 
    3: howmuch the gas costs 
     submit 
    4:calculation 

有人進入他們的東西后,你按「bereken」,它應該計算一切,並把它放在「besparing」輸入字段,但它不工作,我無法找到任何人來幫助我personaly。

我對此很陌生

回答

0

使用輸入類型按鈕而不是輸入類型提交。提交用於提交表單。

而不是有.submit在你的jQuery使用。點擊

編輯:另外,從HTML輸入retreives值的代碼需要在功能,否則這些值在JavaScript將不會被更新。

僞代碼

1. Create function which is call on click using javascript .click function 
2. Add in code that retreieves values from fields inside this click function 
3. Calculate 
4. Output result 

這應該都是一個函數內完成。

+0

我改變了它,它不會刷新,它不給我錯誤POST請求了下去,但我從來沒有使用過.submit,它是。點擊 –

+0

是的,但是您使用的提交輸入類型只能在表單中使用。你不需要任何模糊功能。將新代碼重新貼上代碼或鏈接到pastebin會很有用,這樣我們就可以看到你做了什麼。 –

0

你可以這樣做:

$('#submit').click(function(evt) { 
    evt.preventDefault(); // this will prevent the form from being submitted 
    // your calculations here 
}); 

無需更新.blur()你可以做到這一切在click功能 - 你不不必要這樣填充變量

林不知道全局命名空間你的計算是正確的,但 - 你可能想檢查.val()返回一個數字...看看parseFloatparseInt

var bg = $('#bg').val(); 

應該

var bg = parseFloat($('#bg').val()); // parseFloat for floating point 

var bd = $('#bf').val(+$('bf').val()/bg); 

將無法​​工作 - 你需要做這樣的事情

var bd = $('#bf').val($('#bf').val() + $('bf').val()/bg); 

我建議你先得到所有的值

var bd = parseFloat($('#bf').val()); 
var km = parseFloat($('#kilometer').val()); 
var bf = parseFloat($('#bf').val()); 
var bg = parseFloat($('#bg').val()); 

然後使用變量來計算(例如)

var total = bd + km; 
+0

這是不正確的,因爲他沒有使用表格。他應該使用輸入類型的按鈕,並使用點擊綁定,而不是提交 –

+0

@JonTaylor它會工作 - 試試吧 – ManseUK

+0

我會一直教你,輸入類型提交表單,否則輸入類型按鈕。我沒有看到任何理由在表單之外使用提交輸入。 –