2013-02-12 25 views
8

コードでフォームを作成して送信しようとしています。以下に何が間違っていますか?jQueryは動的にフォームを作成して送信します

$('#btnPrintInvoicePerFile').on('click', function (event) { 
    event.preventDefault(); //stop link default 

    var componentInvoiceId = EberlsComponentInvoiceForm.componentInvoice.Id; 
    console.log(componentInvoiceId); 

    $('<form>', { 
     "id": "getInvoiceImage", 
     "html": '<input type="text" id="componentInvoicId" name="componentInvoicId" value="' + componentInvoiceId + '" />', 
     "action": window.siteRoot + 'ComponentInvoice/GetInvoiceImage/' 
    }).submit(); 

}); 
+1

あなたが代わりにjQueryの.post http://api.jquery.com/jQuery.post/で見たいと思うかもしれません。おそらくあなたが探しているものに近いでしょう。 –

+0

「どうしたの?私は、あなたは何のエラーを取得していますか?起こってはならないと思われることは何も起こっていませんか? – j08691

答えて

29

は、第1の本体要素にフォームを追加してください:

$('<form>', { 
    "id": "getInvoiceImage", 
    "html": '<input type="text" id="componentInvoicId" name="componentInvoicId" value="' + componentInvoiceId + '" />', 
    "action": window.siteRoot + 'ComponentInvoice/GetInvoiceImage/' 
}).appendTo(document.body).submit(); 
+0

ああ、追記してください。これはうまくいった!提出後に身体から取り除く価値はありますか? – Mark

+2

@マークいいえ。ページがアンロードされ、フォームが送信されるためです。 – Corneliu

関連する問題