event.preventDefault()提交表单

时间:2010-12-23 15:29:04

标签: php ajax events

我正在使用cakephp和jquery与表单(带提交按钮的文件字段)上传图片。

我需要做的就是做AJAX图片上传表格。我不想刷新页面。所以我在提交表单时绑定event.preventDefault。但我不确定$ _FILE ['y']是否被event.preventDefault停止。

我想知道表单是否已提交,并且在提交表单时绑定了event.preventDefault。

超级全球,比如$ _REQUEST ['x'],$ _FILE ['y'],$ _ POST ['x'],$ _ GET ['x']还在吗?

如果没有,怎么做?

三江源。

<script type="text/javascript">
$(document).ready(function() {

 var getAjax=function(event){

  $.ajax({

        'url':'<?php echo $this->webroot;?>vehiclePictures/addImageAjax/',
        'data': {'x': 33,'y':44},
        'dataType': 'json',
        'type': 'GET',
        'success': function(data) {
         if (data.length) {
          $.each(data, function(index, term) {
       alert(term[1]);
          });
         }
        }
  })
  event.preventDefault();
 };

 $('#imageUploadForm').submit(getAjax);

});
</script>

1 个答案:

答案 0 :(得分:0)

如果您使用按钮提交表单,我只需将return false添加到按钮并让它运行ajax-call。不确定这是不是你想知道的?

像这样:

<form method="post" action="someFile.php">
    //Form here
    <input type="submit" id="buttonToPostForm" />
</form>

function ajaxCall() {
    $.ajax({
       //Ajax data goes here
    });
}

$("#buttonToPostForm").click(function() {
    ajaxCall();
    return false;
});

并填写,以便表格中的数据与原始代码一样发送。

希望我能正确理解这个问题,如果不是我道歉:)