Php .submit()不重新加载页面
我正在尝试使用jquery进行一些文件上传。上载框必须位于对话框中。 现在我只想知道在我点击对话框的上传按钮之后。我怎样才能提交,但页面不加载。 我试过用这个 $('#uploadForm').submit().preventDefault(); 它根本没有行动 htmlPhp .submit()不重新加载页面,php,jquery,Php,Jquery,我正在尝试使用jquery进行一些文件上传。上载框必须位于对话框中。 现在我只想知道在我点击对话框的上传按钮之后。我怎样才能提交,但页面不加载。 我试过用这个 $('#uploadForm').submit().preventDefault(); 它根本没有行动 html <script> $( "#dialog-upload" ).dialog({ autoOpen: false, he
<script>
$( "#dialog-upload" ).dialog({
autoOpen: false,
height: 200,
width: 350,
modal: true,
buttons: {
"Upload": function() {
var bValid = true;
bValid = bValid && checkCSV()
if(bValid){
**$('#uploadForm').submit().preventDefault();**
}
$( "#dialog-upload" ).dialog( "close" );
},
Cancel: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
$( this ).dialog( "close" );
}
},
close: function() {
allFields.val( "" ).removeClass( "ui-state-error" );
$( this ).dialog( "close" );
}
});
</script>
<div id="dialog-upload" title="Upload csv file">
<form>
<fieldset>
<form action='ajax.php' id = 'uploadForm' method='post' enctype='multipart/form-data'>
<input type="text" name="file" id="fileUpload" size = 30 class="text ui-corner-all" />
</form>
</fieldset>
</form>
</div>
将
事件
委托用于表单提交
$('#uploadForm').submit(function( e ){
e.preventDefault(); // browser 'submit' event behavior prevented
});
而不是:
"Upload": function() {
var bValid = true;
bValid = bValid && checkCSV()
if(bValid){
$('#uploadForm').submit();
}
// ......
您可以在提交之前将某些内容绑定到提交事件
$(function() {
$('#uploadForm').submit(function(evt) {
evt.preventDefault();
});
});
然后在原始位置不使用preventDefault()调用.submit()。是否需要通过jquery加载表单?或者您可以简单地创建表单,然后在
元素上使用onsubmit=“javascript:mySubmitMethod();return false;”
。返回false代码>从表单中删除提交内容,因此页面不会刷新。另外,设置action=”“
也应该有帮助。需要通过jquery从加载表单。如前所述,此表单必须在对话框表单中显示。此方法没有将任何值传递给php脚本。有人可以在这方面帮助我吗?抱歉,我完全错过了您正在上载文件的消息。如果你想通过ajax上传一个文件,这比简单的提交表单要复杂一些。表单提交可以通过直接调用jQuery.post(或jQuery.ajax)轻松完成。对于文件上传,您可能需要考虑使用插件。这个堆栈溢出问题附带了很多有用的资源:
$(function() {
$('#uploadForm').submit(function(evt) {
evt.preventDefault();
});
});