2012-08-06 57 views
1

我有一個計算產品價格的函數。我不是JavaScript開發人員,所以我的知識非常有限。使用JavaScript/jquery刷新文本框中的值

通過更改文本字段中的值腳本計算產品的價格。

<input type="text" value="" name="options[22]" class="input-text" 
onfocus="opConfig.reloadPrice()"> 

問題是,腳本觸發器只在以下做:

  1. 插入值到文本框
  2. 點擊某處文本框外
  3. 點擊迴文本字段

我需要的是一個按鈕說刷新,點擊它將具有步驟2和上面的步驟。

我不確定我是否正確解釋了所以如果有任何更多的信息需要解決這個問題,請讓我知道。

這裏是鏈接到網站。

http://www.floorstodoors.mldemo.co.uk/spotlight/oak-value-lacquered-3-strip.html

現場即時試圖修改/添加刷新按鈕是進入廣場儀表

回答

1

我不知道我完全理解你,但是這是你需要什麼?

<input type="text" value="" name="options[22]" class="input-text"> 
<input type="button" onclick="opConfig.reloadPrice()" value="Refresh" /> 

與點擊事件偵聽器按鈕,這樣當您單擊刷新按鈕opConfig.reloadPrice()方法被執行。

編輯基於評論:

我不知道你使用的JavaScript庫,但你必須在你的代碼,似乎事件偵聽器添加到輸入ID爲qty這兩條線。

$('qty').observe('focus',function(){ 
    $('qty').setValue($('qty').getValue().replace(/[^0-9]/g,'')); 
});  
$('qty').observe('focus',this.getFromQties.bind(this)) 

他們監聽focus事件,當你輸入字段獲得焦點因此,只有觸發。

如果您修改這些來監聽關鍵事件,我相信它會更好。在不熟悉框架的情況下,我想唯一需要改變的是:

$('qty').observe('keyup',function(){ 
    $('qty').setValue($('qty').getValue().replace(/[^0-9]/g,'')); 
});  
$('qty').observe('keyup',this.getFromQties.bind(this)) 
+0

不幸的是,沒有任何解決方案不適合我。我認爲如果病毒只是提供了該網站的鏈接,那麼我認爲最好的辦法就是我的補償不明確。 http://www.floorstodoors.mldemo.co.uk/spotlight/oak-value-lacquered-3-strip.html 其輸入平方米:字段。 感謝您的幫助。 – Dom 2012-08-06 11:13:10

+0

@Dom計算器似乎爲我工作?或者那裏有什麼問題? – 2012-08-06 11:15:52

+0

感謝您的期待。計算器,因爲你已經奉獻完美罰款。雖然它下面有一個文本字段「Enter Square Meter:」,可以更改所需的總金額。您可以在其中插入自己的價值,但爲了更改總價格,您需要在文本字段之外單擊並返回其中。當我嘗試隱藏是一個按鈕,更改「輸入平方米」後點擊它將更新總價格。 – Dom 2012-08-06 12:02:57

0

使用onchange或onblur代替onfocus!

2

你會你的事件添加到一個按鈕,通過分配一個ID檢索到你輸入​​一個參考:

<input type="text" value="" name="options[22]" id="price" class="input-text" /> 
<input type="button" value="Refresh" onclick="reloadPrice();" /> 

function reloadPrice() { 
    var price = "0.00"; // set your price here 

    // get a ref to your element and assign value 
    var elem = document.getElementById("price"); 
    elem.value = price; 
} 
0

使用平變化。這將隨時激活價值變化:

<input type="text" value="" name="options[22]" class="input-text" onchange="opConfig.reloadPrice()"> 
0

第一:這是JavaScript而不是Java - 所以你必須是一個JavaScript而不是Java開發人員。

爲了解決您的問題,您可以使用onclick屬性創建一個新按鈕,並在文本字段的onfocus屬性中執行您的函數。 或者你可以採取另一種情況 - 樣或電平變化的onblur例如..

<input type="text" onchange="..yourfunctionhere..."> 

http://www.w3schools.com/js/js_events.asp

0
All I need is a button saying refresh that by clicking it will have functionality 

爲此你需要一個按鈕的onclick監聽器, 做以下的事情。

<input type="button" value="Refresh" onclick="opConfig.reloadPrice();" /> 

<input type="text" value="" name="options[22]" class="input-text"/>