如何使用Javascript获取POST请求填充的元素的值


How can I use Javascript to get the value of an element that was populated by a POST request?

我正在构建一个HTML页面,该页面使用以下代码从另一个页面接收数据

$arrayPosition = $_POST['arrayPosition'];
echo '<span id = "arrayPosition">'.$arrayPosition.'</span>';

然后,我尝试使用javascript获取元素的值,并将其传递给具有以下代码的函数

var initialPosition = document.getElementById('arrayPosition').value;
function displayWork(position){
$("#displayArtwork").detach()
                    .append(holdImages[position])
                    .hide()
                    .fadeIn("fast");
}

当我向屏幕提示初始位置的值时,它会通知我null是它的值,然而,当我检查元素时,它看起来像这个

<span id="arrayPosition">4</span>

我是不是犯了一些非常愚蠢的错误,或者误解了访问这些发布数据的方式?

谢谢你的帮助!

由于arrayPositionspan,因此它没有value。你可以得到它的innerHTML:

var initialPosition = document.getElementById('arrayPosition').innerHTML;

或者使用jQuery:

var initialPosition = $('#arrayPosition').text();

span-元素没有值。只有form-元素可以包含value-属性。要在span中获取文本,您可以使用innerHTML-perperty:

var initialPosition = document.getElementById('arrayPosition').innerHTML;

演示

由于您已经在使用jQuery,您也可以使用它的text()-函数:

var initialPosition = $('#arrayPosition').text();

这里你也可以使用:

$(document.getElementById('arrayPosition')).text();

维护起来更困难,阅读起来也更困难,但速度比jQuery Selector快。(见此处)

演示2

参考

.innerHTML

text()