我有一些PHP,它是从先前调用ajax函数动态生成的。
代码使用while循环生成信息列表,因此代码下面的代码段为1到无穷大,具体取决于MYSQL查询返回的内容。
always (*)
begin
my_sig = ~my_sig;
end
单击“保存我”按钮时,我想使用php读取按钮的值,以便将其保存到数据库中。
当点击按钮时,我正在调用一些JQUERY,所以我知道可以读取该值。给我们一个唯一的ID。
echo "<div class='col-md-3'><button class='btn btn-primary-orange mid' type='submit' id='searchbutton' value='" . $mydata["MyID"] . "' name='jid'><i class='glyphicon glyphicon-heart' aria-hidden='true'></i> Save Me</button></div>";
我以为我可以使用标准PHP
$(document).on('click', '.mid', function(){
alert($(this).attr("value"));
$.ajax({
type: "POST",
url: "ajaxlistings.php",
contentType: 'application/x-www-form-urlencoded',
data: $("#formID").serialize(),
cache: false,
dataType: 'html',
success: function(data){
console.log(data);
$('#jdisplaylisting').html(data);
},
error: function (xhr, status, error) {
alert("Sorry, there was a problem!: " + error);
console.log(xhr.status);
console.log(xhr.responseText);
console.log(error);
},
complete: function (xhr, status) {
// do nothing
}
});
return false;
});
读取与按钮关联的值,但拒绝工作。
我猜这是与动态创建的元素有关吗?
答案 0 :(得分:0)
serialize()
方法不知道哪个按钮被按下,因此它不包含结果中的任何按钮。您需要在代码中自己完成。
data: this.name + '=' + encodeURIComponent(this.value) + '&' + $("#formID").serialize(),
答案 1 :(得分:0)
将值保存在表单中的隐藏字段中
<input type='hidden' value='<?= $mydata["MyID"] ?>' name='my_field'>
当您序列化并提交表单时,该值将发送给PHP
$newvalue = $_POST['my_field'];