簡體   English   中英

發布帶有文件上傳的表單

[英]posting form with file upload

使用jquery時上傳文件時遇到問題。

我在表單中有以下HTML。

<fieldset>
  <ul>
    <li> 
      <div class="field"><input size="35" type="file"
                             name="formFile" id="formFile"/></div> 
    </li>
    <li> 
      <div class="field"><input size="35" type="text" 
                             name="formFileName" id="formFileName" /></div>
    </li>
  </ul> 
</fieldset>

要發布數據,我使用$('#myForm').ajaxForm(

當我發布數據並且收到的數據包含一些javascript時,javascript無法識別。

我期望javscriptcode在收到數據時運行,但它發生在早期。 結果表明找不到$或jquery。

如果我從input type = file元素中刪除name屬性,則沒有錯誤,但這不是正確的解決方案。

怎么會發生這種情況?

您當然需要確保嵌入式JS是回調函數的一部分。

$('#myForm').ajaxForm(function() { 
  //Do your JS execution
});

我個人不是抽象的$ .get(),$ .post()。$ ajaxForm()等的粉絲,因為它們刪除了$ .ajax()方法的大部分功能。

如果使用ajaxSubmit()方法很重要,它會接受任何其他$ .ajax參數,因此您可能希望async:false並設置成功/錯誤回調。

// attach handler to form's submit event 
$('#myFormId').submit(function() { 
    // submit the form 
    $(this).ajaxSubmit({
                       success: function(result){ callbackFunction(result); }
                       ,error: function(msg,XMLStatus,err){ errFunction(msg,XMLStatus,err); }
                       }); 
    // return false to prevent normal browser submit and page navigation 
    return false; 
});

希望這應該清除一些問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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