我试图用jquery检索每个消息id,但是对于用户拥有的第一个消息实例,消息id没有被检索并且是未定义的,但是对于所有其他消息,它工作得很好。
var mssg_id = $(this).find('input[name="fav"]').val(); // this is what i am doing to retrieve the messages id
下面是我的jquery代码:
$(document).on('submit', '.favourite-form', function(e) {
e.preventDefault(); //prevent a normal postback and allow ajax to run instead
var mssg_id = $(this).find('input[name="fav"]').val();
$.ajax({
data: mssg_id,
type: "post",
url: "favorite.php?message="+mssg_id,
success: function(data) {
alert("Data Save: " + mssg_id);
},
error: function(jqXHR, textStatus, errorThrown) { //gracefully handle any errors in the UI
alert("An ajax error occurred: " + textStatus + " : " + errorThrown);
}
});
});
HTML
<form class="favourite-form" name="favform" method="POST" >
<input type="submit" name="fav" value="<?php echo $row['msgid']; ?>" />
</form>
是什么导致消息值的第一个实例未定义? 请查找图像以获得更多澄清
第一条消息,未定义
定义了第二个消息并检索该值,并且还定义了其他消息
下面是图像,显示每个消息都有一个值
显示第一和第二消息html代码的图像]4
从你提供的照片来看。 我发现您有favourite-form
,它不包含代码上部的任何内容。 所以,它返回的是未定义的。 而较低的div是完美的,正如您所期望的那样,输入是在表单中的。
这行var mssg_id=$(This).find('input[name=“fav”]').val();
从表单的输入
中获取id,但它的输入不在表单中,因此您遇到了问题。
*注意:-请使用代码,而不是使用图像,如最佳方式在SO中提到的询问和回答