当前的计划概念:
input type=submit
的行创建一个表,当使用edit()
和dataInput按下时,该按钮会调用函数onclick()
标识。edit()
函数使用dataInput id值对/getData
进行ajax调用。getData/
在查询调用后返回并返回结果。/editData
页面中动态创建并填充表单。期望的输出:
input type=submit
的行创建一个表,当使用edit()
和dataInput按下时,该按钮会调用函数onclick()
标识。edit()
函数进行ajax调用,在屏幕上创建一个带有/getData
并带有dataInput id值的bootstrap 4模态。getData/
在查询调用后返回并返回结果。以下是我目前的职能:
function populateData(dataInput) {
var row = $('<tr id=' + dataInput.id + '/>');
$('#table').append(row);
row.append($('<td>' + dataInput.name + '</td>'));
row.append($('<td>' + dataInput.description + '</td>'));
row.append($(
'<td><input type="submit" class="btn btn-warning" value="edit" onclick="edit(' +
dataInput.id + ')"/>'));
}
function edit(id) {
$.ajax({
type: 'GET',
url: '/getData?id=' + id,
success: function(data) {
var dataInput = JSON.parse(data)[0];
window.location = '/editData?id=' + dataInput.id;
}
})
}
app.get('/getData', function(req, res) {
var content = {};
mysql.pool.query('SELECT * FROM dataTable WHERE id=?', [req.query.id],
function(err, rows, fields) {
if (err) {
next(err);
return;
}
content.results = JSON.stringify(rows);
res.send(content.results);
});
});
使用html表单布局的处理程序:
<div>
<form id="form">
<label for="name">Name:</label>
<input type="text" id="name" name="name" placeholder="">
<label for="description">Description:</label>
<textarea id="description" name="description" rows="4" cols="50"></textarea>
</form>
<div class="centerButton">
<input id="submit" class="btn btn-primary" type="submit" value="Save" onclick="save()" />
</div>
</div>
Bootstrap模态示例:
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
我遇到了类似的问题,经过大量的研究后,我终于建立了一个js函数来根据我的要求动态创建模态。使用此功能,您可以在一行中创建弹出窗口,例如:
puyModal({title:'Test Title',heading:'Heading',message:'This is sample message.'})
或者您可以使用其他复杂功能,例如iframe,视频弹出窗口等。 您可能希望将其链接到在ajax请求成功后调用的编辑功能。这样您就可以实时创建Modal,而不必担心在HTML中填充数据。 在https://github.com/aybhalala/puymodals上找到它。有关演示,请转到http://pateladitya.com/puymodals/