簡體   English   中英

.submit()沒有重新加載頁面

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM