[英]Set input value as a result of calculating three other input values in PHP
在一種形式中,我想對以下輸入中輸入的值進行數學運算:
<?php
function makeTextInputField($qnt_art)
$textqnt = ucfirst($qnt_art);
echo
<label for='{$qnt_art}'>Quantità Articolo:</br></label>
<input type='integer' name='{$qnt_art}' value='' /input>
</br></br>
<?php
function makeTextInputField($prz_unit)
$textprz = ucfirst($prz_unit);
echo
<label for='{$prz_unit}'>Prezzo Unità:</br></label>
<input type='double' name='{$prz_unit}' value='' /input>
</br></br>
<?php
function makeTextInputField($perc_sc)
$textperc = ucfirst($perc_sc);
echo
<label for='{$perc_sc}'>Sconto (decimali):</br></label>
<input type='double' name='{$perc_sc}' value='' /input>
</br></br>
用戶在上述輸入中輸入值后,我希望在以下等式中使用這些值:
$imp_art=(($qnt_art)*($prz_unit))- ((($qnt_art)*($prz_unit))*$perc_sc)
...,然后將該等式的結果分配給以下代碼中的$imp_art
,而無需按下“編輯”按鈕:
<?php
function makeTextInputField($imp_art)
$textimp = ucfirst($imp_art);
echo
<label for='{$imp_art}'>Importo Articolo/i:</br></label>
<input type='double' name='{$imp_art}' value=''/input>
</br></br>
我怎樣才能做到這一點?
1.正如Jacky Shek提到的那樣,您必須首先更正基本語法,例如關閉php標簽。
2.您如何知道用戶輸入了“ $ qnt_art”,“ $ prz_unit”和“ $ perc_sc”的值?
因此,您必須監聽所有三個輸入的change事件,例如:
<input type='integer' name='{$qnt_art}' value='' onchange="validate()"/>
3.您肯定需要一個函數來使用JavaScript驗證輸入值。
function validate(){ if($qnt_art && $prz_unit && $perc_sc){//your check logic //change the text of imp_art. } }
4.如何檢查用戶輸入是否完成? 如果他想為$ qnt_art鍵入“ 123”,您會在他鍵入“ 1”或“ 12”時進行計算嗎? 因此,也許您需要延遲檢查。
function delayCheck(){ if(!this.lastTime){ this.lastTime = new Date().getTime(); this.timer = setTimeout(validate, 100);//delay 100ms to check }else{ if(new Date().getTime() - this.lastTime < 100){ clearTimeout(this.timer); this.timer = setTimeout(validate, 100);//delay 100ms to check } } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.