[英]PHP-echoed buttons return only the value of a last echoed button in javascript
我有一個問題,即為動態按鈕值定義var。 它適用於PHP,它在我的javascript中不起作用。
假設我有3個php-echoed按鈕,其值為1,2和3無論我點擊哪個按鈕,它都會返回值3,即使對於明顯具有值1或2的按鈕也是如此。為什么? 無法弄清楚。
好像javascript只獲取按鈕的最高值或最后一個值。 我是javascript的新手,所以我的知識非常小。
<script type='text/javascript'>
function myFunction() {
var msg_id = document.getElementById('like').value;
var dataString = 'msg_id=' + msg_id;
$.ajax({
type: 'POST',
url: 'ajaxjs.php',
data: dataString,
cache: false,
success: function(html) {
alert(html);
}
});
}
</script>
然后我有php-echoed表單
while($row = mysql_fetch_array($msg_check)) {
$msgid = $row['id'];
echo "
<form method='POST'>
<input id='like' onclick='myFunction()' type='button' value='$msgid'>
</form>
外部ajaxjs.php
$msgid = $_POST['msg_id'];
echo $msgid;
嘗試這個 :
while($row = mysql_fetch_array($msg_check)) {
$msgid = $row['id'];
echo "<form method='POST'>
<input data-id ="$msgid" onclick='return myFunction(this)' type='button' value='$msgid'>
</form>
}
Ajax:
<script type='text/javascript'>
function myFunction(obj) {
var element_id = $(obj).data('id');
var msg_id = $(obj).val();
var dataString = 'msg_id=' + msg_id;
console.log(dataString ); //see in console
$.ajax({
type: 'POST',
url: 'ajaxjs.php',
data: dataString,
cache: false,
success: function(html) {
alert(html);
}
});
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.