Forums / National / Russian / Тех. поддержка / Почему не срабатывает formaction при отпраке формы через аякс?

Виктор
#1 2018-11-17 15:03

Почему не срабатывает formaction при отпраке формы через аякс?

<form  action="{TPC_ACTION}" method="post" id="tpc" class="ajax post-COMPATIBILITY">
{TPC_CPU}
{TPC_GPU}				
  <input formaction="{TPC_ACTION1}" type="submit"   value = "Отправить1" />						
  <input formaction="{TPC_ACTION2}" type="submit"   value = "Отправить2" />	
</form>
<div id="COMPATIBILITY"></div>

Пробовал разные варианты, например

<form  action="{TPC_ACTION}" method="post" id="tpc" class="ajax post-COMPATIBILITY">
{TPC_CPU}
{TPC_GPU}				
  <input type="submit"  name="submit"  value = "Отправить1" />						
  <inpu type="submit"   name="submit" value = "Отправить2" />	
</form>
<div id="COMPATIBILITY"></div>

Также не получаю name , пример массива что получаю -> Array ( [x] => 111a5536581592b60 [search_cpu] => 328 [search_gpu] => 3380 )

Если не использовать аякс то все срабатывает, как решить вопрос?

Задача получить разные submit из одной формы или разные  action.

Roffun
#2 2018-11-18 14:11
#43850 Виктор:

Почему не срабатывает formaction при отпраке формы через аякс?

Возможно подхватывается  form action="{TPC_ACTION}" в качестве url для отправки.

 

#43850 Виктор: Также не получаю name , пример массива что получаю -> Array ( [x] => 111a5536581592b60 [search_cpu] => 328 [search_gpu] => 3380 )

Попробуйте передать параметры hash (QUERY_STRING).

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
Dayver
#3 2018-11-18 16:09
#43850 Виктор:

Почему не срабатывает formaction при отпраке формы через аякс?

Потому что AJAX API был написан таким образом что url по которому будет отправлен аякс запрос по передаче данных формы определяется либо аттрибутом action тега form либо из аттрибута 

class="ajax post-myDivId;{MY_FORM_AJAX_ACTION}"

Про formaction тогда никто не знал\думал. Потому при обычной отправке формы логику работы formaction реализует сам браузер, а для аякса это должно быть предусмотренно самим разработчиком обработчика этих запросов но задачу всеравно можете решить проще через формирование адреса в хеше почитайте внимательно док про AJAX API 

Pavlo Tkachenko aka Dayver