我提交下面的表格,它处理控制器中的代码,但处理后重定向到我的基本网址。此外,我没有在我的控制器功能中使用任何重定向。为什么在动作为空时重定向到我的base_url?
这是我的表单代码
<form action="" class="form-horizontal contact-1" role="form" method="post" id="contactform">
<input type="hidden" name="operation" value="newquery">
<div class="form-group">
<div class="col-sm-6">
<input type="text" class="form-control" name="name" id="name" placeholder="Name">
</div>
<div class="col-sm-6">
<input type="text" class="form-control" name="email" id="email" placeholder="Email">
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<input class="form-control" id="subject" type="text" name="subject" placeholder="Subject">
<textarea name="message" type="text" id="msg" class="form-control textarea" cols="30" rows="5" placeholder="Message"></textarea>
<button type="submit" id="contsub" class="btn btn-primary btn-block contact-1-button" data-loading-text="Sending" ><i class="fa fa-send"></i> Send Message</button>
</div>
</div>
</form>
这是我的ajax电话
<script>
$(document).ready(function() {
$("#contsub").click(function() {
var name = $("#name").val();
var email = $("#email").val();
var subject = $("#subject").val();
var msg = $("#msg").val();
if (name == '' || email == '' || subject == '' || msg == '') {
} else {
// Returns successful data submission message when the entered information is stored in database.
$.post("contactform.php", {
name: name,
email: email,
subject: contact,
msg: msg
}, function(data) {
alert(data);
$('#form')[0].reset(); // To reset form fields
});
}
});
});
</script>
我无法弄清问题是什么?
答案 0 :(得分:0)
1.如果您将表单操作设置为空,表单将提交到其当前url.so查看您的浏览器当前URL并且我认为它与您的base_url相同。
2.如果您点击contsub
按钮,您的javascript $("#contsub").click(function()
将无法完美执行,因为当您点击此按钮时,它也会提交表单并重定向到操作网址。更改您的{{1} } <button type="submit"
所以它不会提交表单,你的javascript就可以了。
答案 1 :(得分:0)
<script>
$(document).ready(function() {
$("#contsub").click(function(e) {
e.preventDefault();
var name = $("#name").val();
var email = $("#email").val();
var subject = $("#subject").val();
var msg = $("#msg").val();
if (name == '' || email == '' || subject == '' || msg == '') {
} else {
// Returns successful data submission message when the entered information is stored in database.
$.post("contactform.php", {
name: name,
email: email,
subject: contact,
msg: msg
}, function(data) {
alert(data);
$('#form')[0].reset(); // To reset form fields
});
}
});
});
</script>
按下按钮会导致表单提交,将您重定向到当前位置。添加e.preventDefault();将阻止这种情况发生。