簡體   English   中英

mvc $('form')。submit不在部分視圖上執行

[英]mvc $('form').submit do not execute on partial view

我正在開發MVC 5應用程序。

我有一個Parent View ,該Parent View稱為Partial View以更改圖片。

這是我打電話給Partial View的電話...

$('formPhoto').submit(function(event) {
    event.preventDefault();
    if ($(this).valid()) {
        var formdata = new FormData($(this).get(0));
        $.ajax({
            url: this.action,
            type: this.method,
            data: formdata,
            processData: false,
            contentType: false,
            beforeSend: function() {
                alert(1);
            },
            success: function(result) {
                successPhoto(result);
            },
            complete: function() {
                // alert(3);
                // And so on.
            }
        });
    }
    return false;
});

我的局部視圖如下所示

我的局部視圖如下所示

我的表格稱為“ FormPhoto”。 我像這樣在Submit上定義了一個Ajax函數。

$('formPhoto').submit(function(event) {
    event.preventDefault();
    if ($(this).valid()) {
        var formdata = new FormData($(this).get(0));
        $.ajax({
            url: this.action,
            type: this.method,
            data: formdata,
            processData: false,
            contentType: false,
            beforeSend: function() {
                alert(1);
            },
            success: function(result) {
                successPhoto(result);
            },
            complete: function() {
                // alert(3);
                // And so on.
            }
        });
    }
    return false;
});

永遠不會在Submit上執行此功能。

我缺少什么?

另外,我嘗試使用

var formdata = new FormData($(this).get(0));

但是我認為這是不正確的。

有任何想法嗎?

火車?

您必須使用jquery id selector

$('#formPhoto')

代替

$('formPhoto')

另外,我嘗試使用var formdata = new FormData($(this).get(0));來獲取Partial View數據var formdata = new FormData($(this).get(0));

在這里,您將創建一個包含form詳細信息的FormData對象。

var formdata = new FormData($(this)[0]); -這將自動在FormData提交表單元素,而您無需手動將數據附加到FormData變量中。

這是一個例子:

 $('button').click(function(){ var formData=new FormData($('#myForm').get(0)); console.log(formData.get('input1')); console.log(formData.get('input2')); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form id="myForm"> <input type="text" value="test" name="input1"/> <input type="text2" value="test2" name="input2"/> <button type="submit">Save</button> </form> 

暫無
暫無

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

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