我在下面有这个代码。我预计提交表单后它会转到“/frontend_dev.php/coche1/new”,但它永远不会去(我在相应的方法中添加了一个die(“enter”),但没有显示“enter”)...
<script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.js'></script>
<script type="text/javascript">
$(document).ready(function () {
$('.formulario').submit(function () {
form_data = $.param($(this).serializeArray());
$.ajax({
url: "/frontend_dev.php/coche1/new",
type: "POST",
data: form_data,
success: function () {
alert("Data Saved: ");
}
});
});
});
</script>
<form class="formulario" id="1">
<input type="submit" value="Save">
<label for="coche1_marca">Marca</label>
<input type="text" id="coche1_marca" value="FJSDF" name="coche1[marca]">
<label for="coche1_modelo">Modelo</label>
<input type="text" id="coche1_modelo" value="FJSDÑF" name="coche1[modelo]">
</form>
有什么帮助吗?
问候
哈维
最佳答案
您需要在 .submit()
处理程序末尾返回 false。否则,它会触发 AJAX,但也会立即提交表单,这会导致页面重新加载,因为表单本身没有任何操作。添加 return false 表明 AJAX 按预期触发。
关于jQuery.ajax : first steps. 它不会转到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4220407/