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」入力フィールドに入力されますが、機能せず、個人的に助けてくれる人が見つかりません。

私はこれに非常に慣れていません

4

2 に答える 2

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;
于 2012-06-26T10:02:48.757 に答える
0

入力タイプの送信ではなく、入力タイプのボタンを使用してください。Submit は、フォームを送信するためのものです。

.submit を使用するのではなく、jquery で .click を使用します。

編集: また、html 入力から値を取得するコードは関数内にある必要があります。そうしないと、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

これはすべて 1 つの関数内で行う必要があります。

于 2012-06-26T09:58:28.583 に答える