gpt4 book ai didi

javascript - 为什么我不能从 javascript (.js) 文件中获取我的文本框的值?

转载 作者:行者123 更新时间:2023-11-30 17:39:59 25 4
gpt4 key购买 nike

我一直在努力整理我的代码,并希望将一些 JS 移动到一些自定义的 .JS 文件中。

我在使用 getelementbyid 时遇到问题,它无法在脚本加载时获取值。

错误是“无法获取未定义或空引用的属性‘值’”我只是将脚本移动到 .JS 中并添加了指向页面头部的链接。

function SearchText() {

$(".autosuggest").autocomplete({

source: function (request, response) {

$.ajax({

type: "POST",

contentType: "application/json; charset=utf-8",

url: "/JQueryAutoComplete.aspx/GetCustomerTypeAutoCompleteData",

data: "{'Customer':'" + document.getElementById('<%=txtCustomerType.ClientID %>').value + "'}",

dataType: "json",

success: function (data) {

response(data.d);

},

error: function test(xhr) {
alert(xhr.status + " - " + xhr.statusText);
}


});

最佳答案

您不能在外部 javascript 文件中使用 ASP.Net 语法。所以'<%=txtCustomerType.ClientID %>'将保持原样,这不是您 DOM 中的有效 ID。

我建议您需要将 ID 传递给您的 SearchText功能并使用它来找到它。例如:

function SearchText(clientID) {
//...
data: "{'Customer':'" + document.getElementById(clientID).value + "'}"
//...
}

或者更好的是,将传递给函数:

function SearchText(clientValue) {
//...
data: "{'Customer': '" + clientValue + "' }"
//...
}

然后从您的页面调用它,例如:

SearchText(document.getElementById('<%=txtCustomerType.ClientID %>').value);

关于javascript - 为什么我不能从 javascript (.js) 文件中获取我的文本框的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com