Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JQuery Ajax更改文本框中的值?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何使用JQuery Ajax更改文本框中的值?

Javascript 如何使用JQuery Ajax更改文本框中的值?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我目前正在处理一个ajax调用,该调用将更新文本框的值: <div id="PNIncrementDiv" style="position:absolute; left: 730px; top: 15px; width: 350px;" class=""> <input id="TBIncrementTextBox" class="textbox" type="text" style="position:absolute; top:25px; left: 75px; wi

我目前正在处理一个ajax调用,该调用将更新文本框的值:

<div id="PNIncrementDiv" style="position:absolute; left: 730px; top: 15px; width: 350px;" class="">

 <input id="TBIncrementTextBox"  class="textbox" type="text" style="position:absolute; top:25px; left: 75px; width: 60px; height: 40px;" runat="server"  />

</div>

我的ajax函数返回一个整数,并经过测试返回正确答案,如下所示:

getIncrement: function (id) {
                $.ajax({

                    url: "<%=Session("BaseUri")%>" + '/handlers/DataEntry/SPC_InspectionInput.ashx',
                    type: 'GET',
                    data: { method: 'getIncrement', args: { IncrementId: id} },
                    success: function (data) {
                        console.log(data);
                        Inc_Num = data;
                        $('#TBIncrementTextBox').val(data.toString());//nothing happens!

                    },
                    error: function (a, b, c) {
                        alert(c);
                    }
                });

            }
getIncrement:函数(id){
$.ajax({
url:“+”/handlers/DataEntry/SPC_InspectionInput.ashx”,
键入:“GET”,
数据:{method:'getIncrement',args:{IncrementId:id},
成功:功能(数据){
控制台日志(数据);
Inc_Num=数据;
$('#TBIncrementTextBox').val(data.toString());//什么也没发生!
},
错误:函数(a、b、c){
警报(c);
}
});
}

但是,当我尝试更改文本框的值时,什么也没有发生。我做错了什么?

尝试使用值方法

$('#TBIncrementTextBox')[0].value = data.toString()
getIncrement:函数(id){
$.ajax({
url:“+”/handlers/DataEntry/SPC_InspectionInput.ashx”,
键入:“GET”,
数据:{method:'getIncrement',args:{IncrementId:id},
成功:功能(数据){
控制台日志(数据);
Inc_Num=数据;
$('#TBIncrementTextBox')[0]。value=data.toString();//什么也不发生!
},
错误:函数(a、b、c){
警报(c);
}
});
}

尝试使用
$('PNIncrementDiv input').val(data.toString())定位输入框

如果这样做有效,您的ASP.NET脚本很可能正在更改目标输入的ID

是否确实发出了AJAX请求并成功?检查控制台,因为您很可能有一些需要诊断和修复的错误URL以“开头,以”结尾,但我认为这不是一个错误problem@Gaetano它是两个独立的字符串。第一个用
分隔,第二个用
分隔。这令人困惑,但它是有效的。我同意应该改变。根本不需要附加字符串,因为第一个值来自服务器?我刚刚注意到元素末尾的
runat=“server”
属性。这就是问题所在。如果您在浏览器中检查HTML源代码,您将看到ASP.Net在运行时更改了
id
。您需要使用
ClientID
属性来检索元素,或者使用类。这将导致语法错误,因为jQuery对象没有
propertythanks Rory,我刚刚修复并测试了它。但最好的办法是让工作代码找出是否还有其他错误——至少您已经修复了错误,但现在在逻辑上是相同的。如果原作不起作用,那么也没有理由这样做。