Отправить форму на проверку переключателя

Как я могу отправить форму sAddToBasket если радио внутри формы radioform проверяется?

<form name="radioform" method="post" action="something1.php">
    <input type="radio" onchange="this.form.submit();" class="option--input" id="radio1" name="radio" value="">
    <input type="radio" onchange="this.form.submit();" class="option--input" id="radio2" name="radio" value="">
</form>
<form name="sAddToBasket" method="post" action="something2.php">
    <input type="hidden" name="option1" value="value1"/>
    <input type="hidden" name="option2" value="value2"/>
</form>

4 ответа

Решение

Я бы избавился от JS в DOM (ваш onchange=...) и сделать что-то вроде этого:

$(document).ready( function() {
  $("form[name=radioform] input").on("change", function() {
    $("form[name=sAddtoBasket").submit();
  }
});

Просто добавьте класс к переключателям.

<form name="radioform" method="post" action="something1.php">
    <input type="radio"  class="option--input subForm" id="radio1" name="radio" value="">
    <input type="radio"  class="option--input subForm" id="radio2" name="radio" value="">
</form>

и на скрипте используйте это:

 $(function(){
$('.subForm').click(function(){
if($(this).is(":checked")
$('form[name=sAddtoBasket]').submit();

})
})

Вы можете попробовать что-то вроде этого

<form name="radioform" method="post" action="something1.php"> <input type="radio" onchange="document.getElementById('sAddToBasket').submit();" class="option--input" id="radio1" name="radio" value=""> <input type="radio" onchange="document.getElementById('sAddToBasket').submit();" class="option--input" id="radio2" name="radio" value=""> </form>

 <form id='sAddToBasket' name="sAddToBasket" method="post" action="something2.php"> <input type="hidden" name="option1" value="value1"/> <input type="hidden" name="option2" value="value2"/> 
</form>

onchange вы можете вызвать функцию js, как показано ниже.

<input type="radio" onchange="formSubmit(this)" class="option--input" id="radio1" name="radio" value="">

<form id="sAddToBasket">

</form>

<script>
function formSubmit(radioObj){
  if(radioObj.checked){
    document.getElementById("sAddToBasket").submit();

  }
}
</script>
Другие вопросы по тегам