我会尽量简洁,我是bootstrap和高级javascript的新手,基本上我已经使用bootstrap模式在用户面前加载表单来收集和保存数据库中的数据。我的问题是你将如何使用ajax,因为我还有其他模式,它将有不同的形式,我不想一次又一次地处理整个页面。 P.S 我正在使用codeigniter
制作此应用程序这是模态内的形式
<section id="launch" class="modal hide fade" style="width: 800px; left: 500px;">
<header class="modal-header" style="height: 7px; background: none repeat scroll 0% 0% rgb(87, 164, 210);">
<h4 style="margin-bottom: 0px; margin-top: -5px; text-align: center; color: white;">Unit Details</h4>
<button type="button" class="close" data-dismiss="modal" style="margin-top: -20px;">×</button>
</header>
<?php echo form_open('setupnewblock/registerNewBlock'); ?>
<div class="modal-body" style="padding-top: 0px; padding-left: 0px; " >
<div style="position: relative; left: 43px; margin-top: 41px; margin-left: 0px;">
<span>Address 1</span>
<input type="text" placeHolder="" name="address1" style="width: 219px; height: 17px; margin-left: 20px; margin-top: 3px;" value="<?php echo set_value('address1'); ?>"/>
<br />
<span>Address 2</span>
<input type="text" placeHolder="" name="address2" style="width: 219px; height: 17px; margin-left:20px; margin-top: 3px;" value="<?php echo set_value('address2'); ?>"/>
<br />
<span>Address 3</span>
<input type="text" placeHolder="" name="address3" style="width: 219px; height: 17px; margin-left:20px; margin-top: 3px;" value="<?php echo set_value('address3'); ?>"/>
<br />
<br />
</div>
<footer class="modal-footer" style="margin-top: 475px;">
<input type="submit" value="Save" name="save" class="btn btn-primary" style="margin-top: 2px; height: 27px; width: 89px;" data-dismiss="modal"></input>
<?php echo form_close(); ?>
</footer>
</section>
我想使用ajax
提交此表单答案 0 :(得分:5)
我遇到了同样的问题,但是当我尝试这个gist时,一切都做得很好。
你可以试试这段代码:
$(document).ready( function() {
$('.modal form').on('submit', function(event) {
event.preventDefault()
$.post( $(this).attr('action'), $(this).serialize(), function(data) {
// just try to see the outputs
console.log(data)
if(data.return===true) {
// Success code here
} else {
// Error code here
}
}, 'json')
})
});
答案 1 :(得分:0)
如果你想这么做非常简单,这对你有用:
$('input[name=save]').click(function(e) {
e.preventDefault();
$.post("setupnewblock/registerNewBlock", {form: $("#launch form").serialize()},
function(data) {
// callback
});
});
答案 2 :(得分:0)
查看codeigniter user guide:
所以你的代码应该是,
$attributes = array('class' => 'myform', 'id' => 'myform');
echo form_open('setupnewblock/registerNewBlock', $attributes);
之后你必须将表单的提交函数绑定到像
这样的jquery函数$(document).ready(function() {
$("#myform").submit(function() {
$.ajax(
{
type: 'POST',
url: 'your url to php file',
data: {}, //your form datas to post
success: function(response)
{
alert(response);
},
error: function()
{
alert("Failure");
}
});
});
});