0

次のようなネストされたフォームを持つjqueryダイアログがあります:

<!-- Store Location Dialog -->
        <div id = "changeDialog">
            <form id = "form" method = "post" action = "Default.aspx" \> 
                <input type = "text" id = "changeText" name = "changeLocation" /> 
                <input type = "button" id = "changeStoreDialogSubmit" value = ""  onclick = "dialogSubmitForm()"/> 
            </form>
        </div>

ボタンがクリックされたときに発生する可能性のある2つのインスタンスがあります。1つのインスタンスにはページの読み込みが必要であり、もう1つのインスタンスには必要ありません。非ページロードインスタンスは正しく機能していますが、もう1つは機能していません。これが私が持っているdialogSubmitForm()方法です:

function dialogSubmitForm() {

    if (!placeHolderVisibility) {

        $('#changeStoreDialogSubmit').submit();
    }
    else /
    {
        //Working code
    }
}

そして、ここにダイアログがあります:

function createDialog() {
    //Creates a new dialog
    $('#changeDialog').dialog({
        resizable: false,
        title: '<span class="ui-icon ui-icon-home"></span> Enter Info',
    });
}

$('#changeStoreDialogSubmit').submit();ページをテストすると、ヒットすることがわかりますが、ページが読み込まれることはありません。なぜこれが起こるのでしょうか?

4

2 に答える 2

0

フォームを送信するボタンではなく、.submit()を呼び出す必要があります。form

function dialogSubmitForm() {

    if (!placeHolderVisibility) {

        $('#form').submit();
    }
    else 
    {
        //Working code
    }
}
于 2011-04-20T18:38:49.540 に答える
0

このメソッドは、要素submit()に対してのみ呼び出すことができます。formフォームのIDはform、であるため、次のように変更する必要があります。

$('#changeStoreDialogSubmit').submit();

これに:

$('#form').submit();

formそうは言っても、アプリケーションにASP.NETを使用していることを確認しました。デフォルトでは、Webフォームがページにタグをスローするため、ネストされたタグがないことを確認する必要がありformます。

于 2011-04-20T18:39:17.170 に答える