表单提交在一段时间循环PHP,jquery
form submit in a while loop 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 是灵活的,因为它们必须是唯一的。类还有助于对元素进行分组,以便以后更方便地访问。
HTML(PHP):
while($row = $result->fetch_array() ){
<form name="form_submit_change_status" class="form_submit_change_status" action="">
<input type="text" class="user_id" name="user_id" value="<?php echo $row['id_user']; ?>" />
<input type="text" class="is_enabled" name="is_enabled" value="<?php echo $row['is_enabled']; ?>" />
<button type="button" class="btn btn-warning btn-xs" value="<?php echo $row['is_enabled']; ?>">Change status</button>
</form>
}
j查询:
$(function(){
$('.btn.btn-warning').click(function(e) {
e.preventDefault();
var $form = $(this).closest(".form_submit_change_status");
var formData = $form.serializeArray();
var userId = $form.find(".user_id").val();
alert(userId);
//var URL = $form.attr("action");
var URL = "change_status_user.php";
$.post(URL, formData)
.done(function(data) {
//success
}).
fail(function(jqXHR, textStatus, errorThrown) {
//failure
});
var $isStatus = $form.find(".is_enabled");
var varChangeStatus = $isStatus.val();
$isStatus.val(varChangeStatus=="true" ? "false" : "true");
});
});
您使用while
循环来创建 HTML 元素,但每次都使用相同的 ID 属性。ID 必须是唯一的;但是,类不会。
试试这个:
PHP/HTML:
while($row = $result->fetch_array() ){
<form name="form_submit_change_status" class="form_submit_change_status" action="">
<input type="text" class="user_id" name="user_id" value="<?php echo $row['id_user']; ?>" />
<input type="text" class="is_enabled" name="is_enabled" value="<?php echo $row['is_enabled']; ?>" />
<button type="submit" class="btn btn-warning btn-xs" value="<?php echo $row['is_enabled']; ?>">Change status</button>
</form>
}
.JS:
$(document).ready(function() {
$('.submit_change_status').click(function(e) {
e.preventDefault();
var $form = $(this).closest(".form_submit_change_status");
var formData = $form.serializeArray();
var userId = $form.find(".user_id").val();
alert(userId);
// var URL = $form.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 $isEnabled = $form.find('.is_enabled');
var varChangeStatus = $isEnabled.val();
if (varChangeStatus == "true") {
$isEnabled.html('false');
} else {
$isEnabled.html('true');
}
});
});
相关文章:
- Javascript/Jquery/PHP加载页面-如何
- 基于文本jquery php更改按钮
- 如何在ajax请求期间显示进度条(jquery.php)
- 验证此图像验证码.Jquery PHP & javascript.
- long polling - jquery + php
- jQuery/PHP-POST-Forbidden(403)当试图在我的JSON数据中发送完整的URL时
- JQuery/PHP对只读表单字段做简单的划分
- 使用jquery-php跟踪跟踪点击
- jQuery+php如何在数据对象中返回多个值
- JScript 中的 NodeJS + JQuery php 变量
- 我们如何在jQuery/php/mySQL中显示最近的通知
- 提交多个输入字段 jQuery/PHP 的最佳方式
- JQuery + PHP - PHP 不返回任何内容
- JQUERY + PHP + AJAX 不起作用
- 为什么我不能从jQuery(PHP)接收数据
- 带有jQuery + PHP的Ajax不起作用
- jQuery + PHP HighChart未正确更新
- 第一次点击失败,第二次点击在 Ajax 调用 • JQuery / PHP 上成功
- Jquery + PHP - AJAX onclick favorite/unfavorite
- 使用 JavaScript/jquery/PHP 构建一个动态网站,并将 HTML 存储在 MySQL 中