2012-08-06 66 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"/>