正如你所看到的,我想在一段时间内创建多个表单和按钮。问题是,当我想从我的数组提交一行我想执行此特定的窗体,而不是另一个。表单在一个while循环中提交php,jquery
即使我把按钮标签放在窗体中,我有问题。我想设置一个唯一的ID来形成标签,如id="form_submit_change_status<?php echo $row['id_user']; ?>"
。但问题是我必须对JavaScript代码做些什么改变。 对不起我的英语,我希望了解我的问题......
while($row = $result->fetch_array()){
<form name="form_submit_change_status" id="form_submit_change_status" action="">
<input type="text" class="user_id" id="user_id" name="user_id" value="<?php echo $row['id_user']; ?>" />
<input type="text" name="is_enabled" value="<?php echo $row['is_enabled']; ?>" />
</form>
<button type="submit" id="submit_change_status" class="btn btn-warning btn-xs" value="<?php echo $row['is_enabled']; ?>">Change status</button>
}
$(document).ready(function(){
$('#submit_change_status').click(function(){
var formData = $("#form_submit_change_status").serializeArray();
var userId = $("#user_id").val();
alert(userId);
var URL = $("#form_submit_change_status").attr("action");
var URL = "change_status_user.php";
$.post(URL,
formData,
function(data, textStatus, jqXHR)
{
// alert("Data: " + data + "\nStatus: " + textStatus);
}).fail(function(jqXHR, textStatus, errorThrown)
{
});
var varChangeStatus = $('#is_enabled'+userId).val();
if(varChangeStatus=="true"){
$('#is_enabled'+userId).html('false');
}else{
$('#is_enabled'+userId).html('true');
}
});
});
</script>
// change_status_user.php
$DBConnection = new DBConnection();
if (isset($_POST['is_enabled'])) {
$id = $_POST['user_id'];
$status = $_POST['is_enabled'];
if($status=="true")
$status = "false";
else
$status = "true";
$sql = "UPDATE users SET is_enabled = '$status' WHERE id_user = $id";
$res = $DBConnection->db_connection->query($sql);
echo $sql;
}
你的问题是,你正在使用的ID。而是使用类来避免提交错误的表单。 – Albin 2015-03-13 16:44:16