我有一个应用程序,其中服务器将数据发送到我需要编程的客户端。每个数据字符串都发送到一个唯一的文本框。我希望在显示之前捕获这些数据并将其格式化,具体取决于独立可选列表的状态。我无法使用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();
}
答案 0 :(得分:0)
试试这个:
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');
答案 1 :(得分:0)
只有两种方法可以从服务器更改文本框:
浏览器加载整个页面时
当浏览器向服务器发送AJAX请求并替换输入元素中的文本时
Web服务器无法“将数据发送到文本框”。你可能意味着别的东西,但是你错过了表达它的正确的词语。
我从来源看到的是data-ref
和data-path
。这表明AJAX用于从服务器获取新值并将其放入DOM中。
要更改此设置,请查看该页面的完整源代码(包括所有JavaScript代码)并查找path
或data-path
或data('path')
或data("path")
如果您找到了提出请求的地方,您就会知道在哪里添加自己的回调。
答案 2 :(得分:-1)
function Evaluate() {
var q1 = document.getElementById("<%=txtqty.ClientID %>").value
}
<asp:TextBox ID="txtqty" runat="server" CssClass="txtclass" Width="40px" ValidationGroup="AddLoan" onchange="return Evaluate();" >