onchange = "this.form.submit ()" против двух кнопок отправки - PullRequest
3 голосов
/ 29 ноября 2011

С раскрывающимся списком, инициирующим событие onchange для отправки, оно не работает, когда присутствуют две кнопки ввода ввода. Это имеет смысл, так как вы указываете исключительно, какую кнопку отправки обрабатывать?

<form>
<select onchange="this.form.submit()"></select>
<input type="submit" name="submit1" id="submit1" value="Submit 1" />
<input type="submit" name="submit2" id="submit2" value="Submit 2" />
</form>

Решение Используя предложенное ниже предложение, этот код будет работать так, что вторая кнопка отправки будет работать, если обмен активирован из раскрывающегося списка:

<form>
<select onchange="var e=document.getElementById('killbox'); var s=document.getElementById('submit1'); e.removeChild(s); this.form.submit();"></select>
<div id="killbox"><input type="submit" name="submit1" id="submit1" value="Submit 1" /></div>
<input type="submit" name="submit2" id="submit2" value="Submit 2" />
</form>

Это в базовой форме, безусловно, не помешает добавить Javascript в функцию вместо использования встроенного Javascript для onchange.

Ответы [ 4 ]

4 голосов
/ 29 ноября 2011

Я уверен, что вы можете просто позвонить .submit() на саму кнопку: document.getElementById('submit1').submit()

-edit-

Решение второе: просто удалите одну из кнопок (используйте removeChild(), что является распространенным методом DOM).

2 голосов
/ 29 ноября 2011

Вы можете инициировать событие нажатия на кнопку, которую хотите использовать для отправки.Это странно, но это должно сработать.

1 голос
/ 29 ноября 2011

, как предложил Mathletics, запустить отправку с помощью onclick

<form name="oh" action="/">
<select onchange="oWhichSubmit(this)" onkeypress="oWhichSubmit(this)">
<option value=""></option><option value="submit1">Submit1</option><option value="submit2">Submit2</option>
</select>
<input type="submit" name="submit1" id="submit1" value="Submit 1" />
<input type="submit" name="submit2" id="submit2" value="Submit 2" />
</form>

, чтобы получить значение выбранной опции, используемое для ссылки на элемент submit

 <script>
function oWhichSubmit(thisSubmit){
  var oWhich = thisSubmit.value;   
     if(document.getElementById(oWhich)){
      document.getElementById(oWhich).click();
    }
}
</script>
0 голосов
/ 12 октября 2017

это еще одна форма, которую можно использовать

<select class="form-control" id="search" name="search" value="search" onchange="this.form.submit()">
		<option>1</option>		
    <option>2</option>		
    <option>3</option>		
					
		</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...