我有一个AJAX功能,而且我对AJAX不好。我想将值从PHP传递给AJAX。我设法通过使用:
来做到这一点<input type="text" id="price" onclick='ajaxFunction()' value="<?php echo $id; ?>" />
然后在我的AJAX中:
document.getElementById('price').value;
但我想通过使用HTML a href来实现它。
任何人都可以帮我解决这个问题吗?
提前致谢!
答案 0 :(得分:5)
anchor
或<a>
代码没有value
,而是innerHTML
。使用这种方式:
<a id="price" href="#something">50.00</a>
document.getElementById('price').innerHTML; // 50.00
document.getElementById('price').getAttribute("href"); // #something
要设置这些值,您可以使用相同的东西:
document.getElementById('price').innerHTML = responseText;
document.getElementById('price').setAttribute("href", responseText);
和往常一样,最好以JSON作为好东西回复:
responseText = {
"price": 50.00,
"link": '#something'
};
以上当PHP输出时,它将是:
<?php header ("Content-type: application/json"); ?>
{
"price": 50.00,
"link": '#something'
}
您可以将其用作:
document.getElementById('price').innerHTML = responseText.price;
document.getElementById('price').setAttribute("href", responseText.link);
由于您添加了jquery,我想添加此信息会让这个答案变得有价值。我不确定你是如何调用AJAX函数的,但是调用这种方式很棒。 jQuery有一个内置的AJAX函数,你可以使用它:
$.post("path/to/php", {data: to_be_sent}, function (responseText) {
responseText = JSON.parse(responseText);
$("#price").attr("href", responseText.link).html(responseText.price);
});
在这种情况下,阅读会容易得多:
$("#price").attr("href", responseText.link); // Gives you the #something
$("#price").html(responseText.price); // Gives you the 50.00