Кнопка JQuery Dialog внутри формы вызывает POST - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь поместить модальный диалог в форму, чтобы помочь заполнению полей.Если я размещу кнопку за пределами формы, она будет работать как положено.Если разместить кнопку внутри формы, форма будет опубликована после нажатия.

Событие клика

$("#openList").button().click(function () {
    $("#list").dialog("open");
});

Функциональное

<div id="list" title="Select one">
    @{ Html.RenderPartial("Index/_ListDialog"); }
</div>
<p>
    <button id="openList">Open List</button>
</p>

@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{    
    <div id="ChildFields">
        @{ Html.RenderPartial("Index/_Fields"); }
    </div>
    @Html.HiddenFor(model => model.otherData) 

    <input type="submit" value="Submit" />    
}

Форма сообщений

<div id="list" title="Select one">
    @{ Html.RenderPartial("Index/_ListDialog"); }
</div>

@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{    
    <p>
        <button id="openList">Open List</button>
    </p>
    <div id="ChildFields">
        @{ Html.RenderPartial("Index/_Fields"); }
    </div>
    @Html.HiddenFor(model => model.otherData) 

    <input type="submit" value="Submit" />    
}

Это сокращенная общая версия длинной формы.На практике кнопка должна быть в середине формы между наборами полей.Можно ли разместить кнопку внутри формы, не вызывая ее публикацию?

Ответы [ 2 ]

4 голосов
/ 26 марта 2012

Попробуйте это:

$("#openList").button().click(function (e) {
    e.preventDefault();
    $("#list").dialog("open");
});
3 голосов
/ 26 марта 2012

Добавьте return false; в конец вашего click обработчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...