目前我通过一个小查询获得了行数,这个结果被发送到我在 asp.net 中创建的主页
我目前正在以这些方式进行操作,但没有一个对我有用。
表格 1
<script type="text/javascript">
$(document).ready(function () {
var lbltext = document.getElementById('lblPlanta').innerHTML;
alert(lbltext);
});
</script>
表格 2
<script type="text/javascript">
$(document).ready(function () {
var lbltext = document.getElementById('lblPlanta').textContent;
alert(lbltext);
});
</script>
表格 3
<script type="text/javascript">
$(document).ready(function () {
value = $("#lblPlanta").text();
alert(value);
});
</script>
表格 4
<script type="text/javascript">
$(document).ready(function () {
value = $("#lblPlanta").val();
alert(value);
});
</script>
表格 5
<script type="text/javascript">
$(document).ready(function () {
var lbltext = document.getElementById('lblPlanta').value;
alert(lbltext);
});
</script>
这就是标签的创建方式。(在代码中,标签位于脚本上方)
<label id="lblPlanta"></label>
最初,标签是空的,因为它是自动填充的,结果是从数据库返回的。我在该标签中打印所述结果并打印,但问题是我无法获得它以将其分配给变量。
将信息分配给标签
function getPlantas() {
block();
$.ajax({
url: "../../../pagina/configuracion/empresa/confEmpresa.aspx/getPlanta",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
$("#lblPlanta").html(data.d);
$.unblockUI();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$.unblockUI();
}
});
}
更新
显然我的问题是我尝试在通过document.ready加载它之前获取一个值,所以我用以下方法替换它:
$(window).load(function () {
value = $("#lblPlanta").text();
alert(value);
});
但是警报一直显示为空白,有人可以告诉我一种在加载所有内容后让我的方法运行的方法。
AJAX 调用对于获取请求结果可能需要多长时间是不确定的。大多数情况下,它几乎会立即返回,但无法控制,处理请求的服务器可能会拥塞并且响应时间比正常情况要长,并且您无法提前知道这一点。
这就是为什么不订阅window.onload或dom.ready的原因,因为进行 AJAX 调用的代码很可能会开始准确地响应这两个事件之一,因此距离上述事件被触发并从服务器获取响应并将结果放入#lblPlant元素中。
@Naos已经提出了一个正确的解决方案,它是订阅#lblPlanta元素上读取其值的自定义事件,并从发出 AJAX 请求的成功方法的末尾启动此事件。
我希望这可以稍微澄清一下问题。
祝你好运和问候!
根据您的问题以及您所做的评论以及其他用户的评论,您可以在内容更改时收听您的文档,例如:
x elemento
因此,要使其在您的代码中工作,您只需在函数之前添加它并在其中添加一行,如下所示:
您可以使用您分配的相同功能来执行此操作:
但是你不能在一个
因为该代码是在加载页面时执行的,而此时您仍然没有加载该值。当你需要它时,你必须得到它。
声明一个全局变量
在函数 getPlantas 中分配它
完成后,您可以使用植物变量并获取其值
它的设计目的(除其他外)是确保在页面上的所有 DOM 元素都准备好使用时调用您的函数。
我想就是这样。