Строка запроса JavaScript для нескольких кнопок - PullRequest
0 голосов
/ 08 апреля 2011

Привет! Я пытаюсь создать строку запроса, похожую на ту, которая доступна здесь: http://andrewu.co.uk/tools/request/examples/example1.html

Проблема, с которой я столкнулся, заключается в том, что у меня на странице более одной кнопки, и хотя мои идентификаторы уникальны, все мои данные отображаются на странице действий одновременно. Код, который я использую для своих кнопок:

<label for="name_1">Name:</label>
        <input type="text" name="name" id="name_1" tabindex="1" size="40" value="Donald Duck" />

        <br />
        <br />

        <input type="submit" id='view1' value="Submit" tabindex="2" />
        <label for="name_1">Name:</label>
        <input type="text" name="name" id="name_2" tabindex="1" size="40" value="Mickey Mouse" />

        <br />
        <br />

        <input type="submit" id='view2' value="View" tabindex="2" />

У меня на странице более 2 кнопок. при нажатии кнопки я хотел бы видеть результат, подобный тому, что на этой странице:

http://andrewu.co.uk/tools/request/examples/example1_process.html?name=Andrew+Urquhart

но вместо этого я получаю Имя: Дональд Дак, Имя: Микки Маус. Что мне нужно добавить или изменить, чтобы получить только одно имя, отображаемое за раз, но будет ли оно другим в зависимости от того, какая кнопка нажата?

Ответы [ 3 ]

0 голосов
/ 09 апреля 2011

проблема с вашей формой в том, что оба ввода имеют имя = "имя", и когда вы отправляете форму, оба отправляются.

вы можете либо:

  • используйте разные имена для ввода и выберите правильное имя на основе нажатой кнопки, или

  • используйте 2 формы, по одной для каждой кнопки

  • используйте JavaScript для отправки правильных данных (это может помочь: http://api.jquery.com/serialize/, http://api.jquery.com/submit/)

0 голосов
/ 09 апреля 2011
<input type="submit" id='view1' name="Name" value="Mickey Mouse" tabindex="2" />
<input type="submit" id='view2' name="Name" value="Donald Duck" tabindex="2" />

или

<input type="text" name="name_1" id="name_1" tabindex="1" size="40" value="Donald Duck" />
<input type="submit" id='view1' name="Name" value="Submit" onClick="this.name=this.form.name_1.value" tabindex="2" />

<input type="text" name="name_2" id="name_2" tabindex="1" size="40" value="Mickey Mouse" />
<input type="submit" id='view2' name="Name" value="View" onClick="this.value=this.form.name_2.value" tabindex="2" />

Вы можете отключить ввод, если не хотите отправлять имя дважды

0 голосов
/ 09 апреля 2011

Кнопка просто отправляет форму, в которой она содержится. Она не привязана ни к какому конкретному полю.

Если вы хотите, чтобы на сервер отправлялась только одна пара имя / значение, вам потребуетсяэлементы формы:

<form id="name_1_form">
  <input name="name" value="Andrew" />
  <button>Submit</button>
</form>

<form id="name_2_form">
  <input name="name" value="Mickey" />
  <button>Submit</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...