当文本框以编程方式更改时,javascript 触发事件

发布于 2024-11-19 12:31:42 字数 584 浏览 1 评论 0原文

我有一个应用程序,其中服务器正在向我需要编程的客户端发送数据。每个数据字符串都被发送到一个唯一的文本框。我想捕获这些数据并在显示之前根据独立可选列表的状态对其进行格式化。我无法使用 onchange 触发事件,因为它仅适用于用户输入。有没有一种简单的方法可以做到这一点?我找不到一个直接的解决方案。

<input class="dios" id="diosinput" type="text" value="" data-ref="#source" data-path="/abc/0/input" />


<select class="widthed"> 
<option>Hex</option> 
<option>Binary</option> 
</select>
//my function 

function decToHex(d)
{
var displayHex = d.toString(16);

if(displayHex.length<2) displayHex = '0'+ displayHex;

return '0x'+ displayHex.toUpperCase();
}

I have an application in which server is sending data to client that I need to program. Each string of data is sent to a unique text box. I want to catch this data and format it before displaying depending on state of independent selectable list. I cannot fire an event using onchange as it works only for user's input. Is there an easy way of doing that? I couldn't find one straight solution for this.

<input class="dios" id="diosinput" type="text" value="" data-ref="#source" data-path="/abc/0/input" />


<select class="widthed"> 
<option>Hex</option> 
<option>Binary</option> 
</select>
//my function 

function decToHex(d)
{
var displayHex = d.toString(16);

if(displayHex.length<2) displayHex = '0'+ displayHex;

return '0x'+ displayHex.toUpperCase();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

她说她爱他 2024-11-26 12:31:43

试试这个:

function fireEvent(element,event) {
  if (document.createEventObject) {
    // dispatch for IE
    var evt = document.createEventObject();
    return element.fireEvent('on'+event,evt)
  } else {
    // dispatch for others
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent(event, true, true ); // event type,bubbling,cancelable
    return !element.dispatchEvent(evt);
  }
}

fireEvent(document.getElementById('InsertIdOfYourInput'), 'change');

Try this:

function fireEvent(element,event) {
  if (document.createEventObject) {
    // dispatch for IE
    var evt = document.createEventObject();
    return element.fireEvent('on'+event,evt)
  } else {
    // dispatch for others
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent(event, true, true ); // event type,bubbling,cancelable
    return !element.dispatchEvent(evt);
  }
}

fireEvent(document.getElementById('InsertIdOfYourInput'), 'change');
温暖的光 2024-11-26 12:31:43

从服务器更改文本框只有两种方法:

  1. 当浏览器加载整个页面时

  2. 当浏览器向服务器发送 AJAX 请求并替换时输入元素中的文本

Web 服务器无法“将数据发送到文本框”。你可能想说的是别的东西,但你缺少正确的词语来表达它。

我从源代码中可以看到的是 data-refdata-path。这表明 AJAX 用于从服务器获取新值并将其放入 DOM 中。

要更改此设置,请查看页面的整个源代码(包括所有 JavaScript 代码)并查找 pathdata-pathdata('path' )data("path")

如果你找到发出请求的地方,你就会知道在哪里添加你自己的回调。

There are only two way to change a text box from the server:

  1. When the browser loads the whole page

  2. When the browser sends an AJAX request to the server and replaces the text in the input element

There is no way for a web server to "send data to a text box". You probably mean something else but you're missing the right words to express it.

What I can see from the source is data-ref and data-path. This suggests that AJAX is used to fetch a new value from the server and put it into the DOM.

To change this, look at the whole source code of the page (including all JavaScript code) and look for path or data-path or data('path') or data("path")

If you find the place where the request is made, you will know where to add your own callback.

冬天旳寂寞 2024-11-26 12:31:43
 function Evaluate() {
        var q1 = document.getElementById("<%=txtqty.ClientID %>").value
}

<asp:TextBox ID="txtqty" runat="server" CssClass="txtclass"  Width="40px" ValidationGroup="AddLoan" onchange="return Evaluate();" >
 function Evaluate() {
        var q1 = document.getElementById("<%=txtqty.ClientID %>").value
}

<asp:TextBox ID="txtqty" runat="server" CssClass="txtclass"  Width="40px" ValidationGroup="AddLoan" onchange="return Evaluate();" >
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文