Проблема с несколькими формами на одной странице: кнопка отправляет неправильную форму - PullRequest
0 голосов
/ 04 января 2012

Я пишу веб-версию части нашего приложения для Windows. Это в основном календарь. Люди могут просматривать встречи и редактировать их. Для каждого Назначения у меня есть форма, которая скрыта, и будет отображаться только тогда, когда пользователь нажимает на ссылку. Сейчас проблема заключается только в форме первого свидания на странице работ. Если я нажму кнопку «Отправить» другой формы, она фактически отправит первую форму. Вот код, генерирующий форму:

 <div class="popupbox" id="popuprel@{@mit.Id_mit}_@{@day.Day}">
 @for (int i = 0; i < tcsForDay.Count; i++)
 {
     <p>
     @tcsForDay[i].Tag_child.Zeitvo - @tcsForDay[i].Tag_child.Zeitna <br />
     @if (tcsForDay[i].Subtype != null)
     {
           @:( @tcsForDay[i].Subtype.Type) @tcsForDay[i].Tag_child.Text
           <a href="#" rel="AppForm@{@mit.Id_mit}_@{@day.Day}_@{@i}" class="AppEditLink">Editieren</a>

     }
     else
     {
           @:( @Model.typeTagesEinteilung.Type) @tcsForDay[i].Tag_child.Text
           <a href="#" rel="AppForm@{@mit.Id_mit}_@{@day.Day}_@{@i}">Edit</a>
     }
     </p>
     <div id="AppForm@{@mit.Id_mit}_@{@day.Day}_@{@i}"class="AppForm">

     @{
           string formname = String.Format("AppFormForm{0}_{1}_{2}", mit.Id_mit, day.Day, i);
     }
     @using (Html.BeginForm("Index", "Plan", FormMethod.Post, new { @class = "AppFormForm", name = formname }))
     {

          @Html.Hidden("tagchild_id", tcsForDay[i].Tag_child.Id_tagchild);
          @Html.Label("Text")<br />
          @Html.TextBox("Text", null, new { @class = "required" })<br />
          @Html.Label("Zeit Von")<br />
          @Html.TextBox("ZeitVon", null, new { @class = "required time" })<br />
          @Html.Label("Zeit Nach")<br />
          @Html.TextBox("ZeitNach", null, new { @class = "required time" })<br />

          <input type="submit" value="Speichern" name="button@{@mit.Id_mit}_@{@day.Day}_@{@i}" />

      }
      </div>


 }

Имена могут быть не очевидными. tc или Tag_child это встреча

1 Ответ

1 голос
/ 04 января 2012

Когда вы смотрите на разметку для каждой отдельной формы, что вы видите?

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

Каждый элемент формы на вашей странице должен иметь уникальное имя:

<input id="Text1" name="Text1" />

<input id="Text2" name="Text2" />

и т.д.

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