使用JavaScript/jquery刷新文本字段中的值

Refresh value in text field with JavaScript/jquery

本文关键字:字段 文本 刷新 JavaScript jquery 使用      更新时间:2023-09-26

我有一个计算产品价格的函数。我不是JavaScript开发人员,所以我的知识非常有限。

通过更改文本字段脚本中的值来计算产品的价格。

 <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

试图修改/添加刷新按钮的字段为Enter Square Metre

您可以将事件添加到按钮中,并通过分配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;
}

我不确定我是否完全理解你,但这是你需要的吗?

<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事件,因此只有当您的输入字段获得焦点时才会触发。

如果你修改它们来监听keyup事件,我相信它会更好地工作。如果不熟悉这个框架,我想唯一需要改变的就是:

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

使用onchange或onblur而不是onfocus!

使用onchange。这将在值发生变化时激活:

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

首先:这是JavaScript而不是Java,所以你必须是一个JavaScript而不是Java开发人员。

为了解决您的问题,您可以制作一个具有onclick属性的新按钮,并在文本字段的onfocus属性中执行您的函数。或者你可以接受另一个事件,比如onchange或onblur。。

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

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

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"/>