引导模式&x2B;PHP+;AJAX
所以我可以证明我是个白痴。 我正在寻找一种简单的方法,让ajax将ID传输到modal。 然后,它采用包含php的模式,并提供要显示的必要变量 前 桌子 [单击按钮(ID)]->模式弹出->名称:数据、电子邮件:数据、用户名:数据 我不知道这是否有帮助。 我能够弄清楚如何让模式向数据库添加信息,但似乎无法弄清楚如何将数据从ID拉到模式并填充它 谢谢你给我的任何帮助 编辑:(更新) 这是我的索引页面,显示所有手机清单。“视图”弹出模式,但给我随机信息,它是一个活动ID,但不是订单当前的ID 希望这有帮助。(我会接受任何帮助或批评)引导模式&x2B;PHP+;AJAX,php,ajax,twitter-bootstrap,modal-dialog,Php,Ajax,Twitter Bootstrap,Modal Dialog,所以我可以证明我是个白痴。 我正在寻找一种简单的方法,让ajax将ID传输到modal。 然后,它采用包含php的模式,并提供要显示的必要变量 前 桌子 [单击按钮(ID)]->模式弹出->名称:数据、电子邮件:数据、用户名:数据 我不知道这是否有帮助。 我能够弄清楚如何让模式向数据库添加信息,但似乎无法弄清楚如何将数据从ID拉到模式并填充它 谢谢你给我的任何帮助 编辑:(更新) 这是我的索引页面,显示所有手机清单。“视图”弹出模式,但给我随机信息,它是一个活动ID,但不是订单当前的ID 希望这
WCL网络应用
.body{margin:0 40px;}
电话清单
&时代;
电话配置文件-ID
电话#
$(文档).ready(函数(){
$('.table')。数据表({
“sPaginationType”:“引导程序”,
“iDisplayLength”:10
} );
} );
$(“.device”)。单击(函数(){
var id=$(this.attr('data-id');
$(“#myModal”).find(“#id”).val(id);
$(“#myModal”)。对话框(“打开”);
})
$(“.alert”).delay(200).addClass(“in”).fadeOut(4000);
$(函数(){
//twitter引导脚本
$(“按钮更新”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“test.php”,
数据:$('form.test')。序列化(),
成功:功能(msg){
$(“#模态结果”).html(msg)
$(“#myModal”).modal('hide');
},
错误:函数(){
警报(“故障”);
}
});
});
});
好的。我想我知道你需要什么。您已经有了一个结果页面,并且希望在每个结果中都有一个链接,该链接将在模式中显示结果的详细信息页面
所以,让我们一步一步来。让您的详细信息页面链接正常工作。一旦工作正常,我们就用AJAX劫持它,并在模式中显示页面
Bootstrap可以轻松实现AJAX模块,请查看remote
选项:
让我知道事情的进展,对新事物毫不羞耻:好吧。我想我知道你需要什么。您已经有了一个结果页面,并且希望在每个结果中都有一个链接,该链接将在“编辑中使用”中显示详细信息表单,并在“编辑数据”行中打开单个模型和字段 请按照此脚本编辑(更新)单个模型中的数据
/*若双击表格行,那个么打开模型并在表格中填写所有数据*/
$('#table id tbody')。在('dblclick','tr',function()上{
var table=$('#table id').DataTable();
var data=table.row(this.data();
$(“#电话号码”).val(数据.电话号码);
$(“设备制造商”).val(数据设备制造商);
$(“#device_model”).val(data.device_model);
$(“#phone_alias”).val(data.phone_alias);
$(“司机号码”).val(数据.司机号码);
$(“#device_model”).val(data.device_model);
$(“#模态结果L”).modal('show');
});
/*如果模型关闭,则表单中打开的模型中的“所有”字段为空*/
$('#con close model').on('hidden.bs.model',function(){
/*清除所有输入类型=“文本”框*/
$('#表单id输入[type=“text”]).val(“”);
/*清除所有输入type=“number”框*/
$('#表单id输入[type=“number”]).val(“”);
});
到目前为止,您得到了什么?发布您当前的代码。好的,我添加了您所放置的内容,但将123更改为我的$row['id'],它的工作方式是,没有模式弹出,而是淡出屏幕,只显示“getPhone.php”页面中的计划文本。(我只是重复了一下)太好了。听起来你的思路是对的,只是缺少了一些模态代码。你得到的是模态背景,而不是模态身体。再翻一翻,你就快到了:DQuestion,提交后模式消失,但页面不会刷新以显示已更新或添加的内容。有什么想法吗?你可能想在提交后强制刷新页面吗?或者您可能需要通过AJAX显示消息。我想做的是在提交模式时关闭模式,然后刷新当前页面。现在,我改变了我的按钮类型提交,但这确实有效,只是没有张贴。然后我想可能会改为。点击。提交,但那没有任何作用。当我这么做的时候。url已更改为“?whater=whater”等,但从未发布。。idk。
===============================
[Button] | Data | Data | Data |
===============================
<?php
include "../includes/db_connect.php";
$page = "chauffeur";
$pdo = Database::connect();
if($_SESSION['LoggedIn'] == 1){ }
elseif($_SESSION['LoggedIn'] == "")
{
header("location: http://wcl-wamp/");
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>WCL WebApp</title>
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/td/style.css" rel="stylesheet">
<style>
.body{margin: 0 40px; }
</style>
</head>
<body>
<?php include('../nav.php'); ?>
<div class="body">
<div class="row">
<h3><b>Phone Inventory</b></h3>
<div id="modal-results" ></div>
<?php
try {
$stmt = $pdo->prepare('SELECT * FROM phone_inventory');
$stmt->execute();
$result = $stmt->fetchAll();
if(count($result)) {
foreach($result as $row){
}
}
} catch (Exception $e) {
echo 'ERROR: ' . $e->getMessage();
} ?>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-title" id="myModalLabel"><b>Phone Profile - ID <?= $row['id']; ?></b></h3>
</div>
<div class="modal-body">
<form class="test" role="form">
<div class="form-group">
<label for="phone_number">Phone #
<input type="text" class="form-control" id="phone_number" name="phone_number" value="<?= $row['phone_number']; ?>"></label>
<label for="device_id">Device ID
<input type="text" class="form-control" id="device_id" name="device_id" value="<?= $row['device_id']; ?>"></label>
<label for="device_manufacturer">Device Manufacturer
<input type="text" name="device_manufacturer" id="device_manufacturer" class="form-control" value="<?= $row['device_manufacturer']; ?>" /></label>
<label for="device_model">Device Model
<input type="text" name="device_model" id="device_model" class="form-control" value="<?= $row['device_model']; ?>"/></label>
<label for="phone_alias">Phone Alias
<input type="text" name="phone_alias" id="phone_alias" class="form-control" value="<?= $row['phone_alias']; ?>"/></label>
<label for="chauffeur_number">Chauffeur #
<input type="text" name="chauffeur_number" id="chauffeur_number" class="form-control" value="<?= $row['chauffeur_number']; ?>"/></label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="update">Check Out</button>
</div>
</div>
</div>
</div>
<div class="row">
<table class="table table-striped table-condensed table-hover">
<thead>
<tr>
<th></th>
<th>Phone #</th>
<th>Device ID</th>
<th>Device Manufacturer</th>
<th>Device Model</th>
<th>Phone Alias</th>
<th>Chauffeur #</th>
</tr>
</thead>
<tbody>
<?php $sql = 'SELECT * FROM phone_inventory ORDER BY id ASC';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td><a class="btn btn-xs btn-primary" data-toggle="modal" data-id="'. $row['id'] .'" href="#myModal" >View</a></td>';
echo '<td>'. $row['phone_number'] .'</td>';
echo '<td>'. $row['device_id'] .'</td>';
echo '<td>'. $row['device_manufacturer'] .'</td>';
echo '<td>'. $row['device_model'] .'</td>';
echo '<td>'. $row['phone_alias'] .'</td>';
echo '<td>'. $row['chauffeur_number'] .'</td>';
echo '</tr>';
}
Database::disconnect();
?>
</tbody>
</table>
</div>
</div>
<?php include('../includes/js_scripts.php'); ?>
<script>
$(document).ready(function() {
$('.table').dataTable( {
"sPaginationType": "bootstrap",
"iDisplayLength": 10
} );
} );
$(".device").click(function(){
var id = $(this).attr('data-id');
$("#myModal").find("#id").val(id);
$("#myModal").dialog("open");
})
$(".alert").delay(200).addClass("in").fadeOut(4000);
$(function() {
//twitter bootstrap script
$("button#update").click(function(){
$.ajax({
type: "POST",
url: "test.php",
data: $('form.test').serialize(),
success: function(msg){
$("#modal-results").html(msg)
$("#myModal").modal('hide');
},
error: function(){
alert("failure");
}
});
});
});
</script>
</body>
</html>
<script type="text/javascript">
/* if double click on table row then open model and fill all data in form */
$('#table-id tbody').on('dblclick', 'tr', function() {
var table = $('#table-id').DataTable();
var data = table.row(this).data();
$("#phone_number").val(data.phone_number);
$("#device_manufacturer").val(data.device_manufacturer);
$("#device_model").val(data.device_model);
$("#phone_alias").val(data.phone_alias);
$("#chauffeur_number").val(data.chauffeur_number);
$("#device_model").val(data.device_model);
$("#modal-resultsl").modal('show');
});
/* if model close then all field is blank in open model in form */
$('#con-close-modal').on('hidden.bs.modal',function() {
/*Clear all input type="text" box*/
$('#Form-id input[type="text"]').val('');
/*Clear all input type="number" box*/
$('#Form-id input[type="number"]').val('');
});
</script>