[英].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.