[英].submit() without reloading page
我正在尝试使用jquery进行一些文件上传。 上传框必须在对话框中。 现在我只想知道点击对话框的上传按钮后。 如何提交页面不加载。 我尝试使用这个$('#uploadForm')。submit()。preventDefault(); 它根本没有行动。
HTML
<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>
PHP
if (isset($_FILES['file'])) {
echo "success";
}
使用EVENT
委托提交表单
$('#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();
});
});
然后只需在原始位置调用.submit()而不使用preventDefault()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.