форма не отправляется с событием onclick

0

Я пытаюсь отправить форму на событие клика изображения, но я получаю Uncaught TypeError: Object #<HTMLInputElement> has no method 'submit' эту ошибку после пожара события клика.

Мой код:

<form name="searchRef" id="searchRef" method="get" action="#">
  <input type="text" name="s" id="ref" value="" class="ref_search" />
  <input type="submit" name="submit" id="ref_submit" value="GO" class="ref_submit" />
  </span> <span> <img src="http://www.webdeveloper.com/forum/image.php?s=2c556ca62e6fd2a2e4d6ca925fb3fda1&u=8331&dateline=1057444055" alt="Go" onClick="document.getElementById('searchRef').submit();"> </span>
</form>

Любые идеи или предложения? Благодарю.

  • 0
    У вас есть какое-либо поле ввода в вашей форме, чей идентификатор submit ?
Теги:

6 ответов

2

Вам необходимо удалить/изменить имя атрибута кнопки отправки, например:

name="btnSubmit"

В противном случае метод submit() элемента FORM перезаписывается.

2

Измените имя кнопки submit от submit до ref_submit

как показано ниже

<input type="submit" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" />
0

Эта ошибка возникает из-за того, что ваш атрибут name submit, попробуйте изменить атрибут имени или попробовать код ниже.

  <img src="http://www.webdeveloper.com/forum/image.php?s=2c556ca62e6fd2a2e4d6ca925fb3fda1&u=8331&dateline=1057444055" alt="Go" onclick='window.searchRef.submit();' />
0

На вашей странице, вероятно, уже есть элемент html с id=searchRef, поэтому getElementById() ошибается.

Лучшим решением было бы заменить кнопку отправки кнопкой ввода = изображение:

<input type="image" name="ref_submit" id="ref_submit" value="GO" class="ref_submit" 
  src="path/to/your/image"  />

Обратите внимание, что это приведет к серверной стороне с помощью запроса POST с $_POST['submit_x'] и $_POST['submit_y'] (что соответствует координатам мыши (x, y) в левом верхнем углу изображения)

  • 1
    name="submit" никогда не должно использоваться внутри элемента FORM
  • 0
    спасибо, я этого не заметил Кажется, это проблема только потому, что используется jquery, верно?
0

это всего лишь идея, но попробуйте использовать

document.forms["searchRef"].submit();

вместо

document.getElementById('searchRef').submit();
  • 0
    submit будет по-прежнему ссылаться на элемент input, метод submit () больше не будет
0

измените атрибут действия тега формы, repalce # с page name say action.php целевой page name say action.php, а также добавьте onsubmit="javascript:return false" в теге формы

Ещё вопросы

Сообщество Overcoder
Наверх
Меню