Отправить форму, когда выбранное значение выбранного элемента изменяется без JavaScript - PullRequest
7 голосов
/ 12 января 2011

Привет, вопрос довольно простой.

<select name="justanumber">
    <option value="1" selected="selected">1</option>
    <option value="2"></option>
</select>

при изменении выбранного значения я должен сделать форму сообщения. Но проблема в том, чтобы сделать это без JavaScript.

Я не уверен, что это возможно сделать, лучший результат, который я заархивировал, это отправить форму, используя ярлык для.

Ответы [ 7 ]

4 голосов
/ 13 января 2011

Нет, это невозможно без использования клиентского скрипта.

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

3 голосов
/ 13 января 2011

Нет, для таких вещей нет атрибута автоматической отправки, однако есть способ обойти это:

CSS:

#jsOn .Submit {
   display: none;
}

HTML:

<form id="my_form" action="">
<select id="justanumber" name="justanumber">
    <option value="1" selected="selected">1</option>
    <option value="2"></option>
</select>
<input type="submit" value="Go!" class="Submit" />
</form>

JavaScript:

var visible_root = document.getElementsByTagName("body");
while (visible_root.length < 1) {
    continue;
}
visible_root = visible_root[0];
visible_root.id = "jsOn";
document.getElementById("justanumber").onchange = function() {
    document.getElementById("my_form").submit();
};

Когда люди без JavaScript приходят на ваш сайт, они видят кнопку отправки.Когда люди с включенным JavaScript прибудут на ваш сайт, кнопка отправки будет скрыта, и к элементу select будет добавлено событие onchange.(В качестве альтернативы вы можете добавить прослушиватель событий, если у вас есть библиотека JavaScript, которая нормализует все события для вас.)

1 голос
/ 21 января 2011

Вот ответ. К сожалению, это невозможно.

1 голос
/ 13 января 2011

Я не верю, что это возможно без JS.Очевидным подходом было бы установить кнопку отправки в качестве значения опции (например, <option><input type="submit"></option>).К сожалению, браузеры будут лаять и стонать, добавляя элемент ввода после элемента select.Если выбор определяет поток приложения, рассмотрите возможность использования другого элемента пользовательского интерфейса (например, кнопок, ссылок и т. Д.).

0 голосов
/ 08 марта 2017

используйте кнопку submit_ для отправки, пока JS не включен. Если JS включен, скрыть кнопку с помощью JavaScript. Амазон так и сделал.

http://www.amazon.in/s/ref=nb_sb_ss_i_1_5?url=search-alias%3Delectronics&field-keywords=sd+card&sprefix=sd+ca%2Celectronics%2C401&crid=1M4KMJEGDLTEL

отключите JS и посмотрите верхний правый угол раздела сортировки.

0 голосов
/ 14 июля 2014

согласился, что для этого вы должны использовать javascript

см. Этот пост Как подать заявку на изменение выпадающего списка?

если вы беспокоитесь о том, что пользователи не имеют включенного javascript, я бы советовал вместе с приведенным примером в посте по ссылке, которую вы делаете

<noscript>This form requires that you have javascript enabled to work properly please enable javascript in your browser.</noscript>

или что-то в этом роде

кроме того, что это невозможно (в настоящее время) сделать без использования JavaScript

0 голосов
/ 23 ноября 2013
<form action="aaa.php" method="post" name="autosubmit_select">
<select name="justanumber" onChange="document.autosubmit_select.submit();">
    <option value="1" selected="selected">1</option>
    <option value="2"></option>
</select>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...