2016-02-10 1 views
-1

Я прочитал несколько вопросов, которые соответствуют этому описанию, но я все еще боюсь. Я прочитал это submit-form-when-checkbox-is-checked-tutorialОтправить форму при проверке радиатора

Кажется, что не получается отправить форму при проверке радиатора. Я пробовал использовать .click и .on('change')

Вот мой код, jquery находится в петле php.

<script type="text/javascript"> 
    $(document).ready(function() {      
     $('input[name=choice-<?php echo $id; ?>]').click(function() { 
      $('#assessment-form-<?php echo $id; ?>').submit(function(e) {      
       alert('It works :)'); 
      }); 
     }); 
    }); 
</script> 
<form id="assessment-form-456" method="post" action=""> 
    <ul class="clearfix"> 
     <li><input type="radio" name="choice-456" id="t-456" value="yes">Yes</li> 
     <li><input type="radio" name="choice-456" id="f-456" value="no">No</li> 
     <li><input type="radio" name="choice-456" id="na-456" value="na">n/a</li> 
    </ul> 
    <input type="submit"> 
</form> 
+2

Вы не форму завершения заполнения, но на каждый клик ** связывание ** новый отправить обработчик. –

ответ

1

Это ваша проблема:

$('#assessment-form-<?php echo $id; ?>').submit(function(e) { 
     alert('It works :)'); 
}); 

Вместо отправки формы, вы добавляете слушатель событий, который срабатывает, когда форма была отправлена.

Вы не должны передавать любые аргументы функции:

$('#assessment-form-<?php echo $id; ?>').submit(); 

Смотрите на JQuery manual; вам понадобится ярлык для метода триггера, чтобы вызвать отправку формы.

0

Это значения атрибутов должны быть обернуты в кавычки:

$('input[name="choice-<?php echo $id; ?>]"') 

Как этот:

$(document).ready(function() { 
 

 
    $('input[name="choice-456"]').change(function() { 
 
    alert('It works :)'); 
 
    $('#assessment-form-456').submit(); 
 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="assessment-form-456" method="post" action=""> 
 

 
    <ul class="clearfix"> 
 
    <li> 
 
     <input type="radio" name="choice-456" id="t-456" value="yes">Yes</li> 
 
    <li> 
 
     <input type="radio" name="choice-456" id="f-456" value="no">No</li> 
 
    <li> 
 
     <input type="radio" name="choice-456" id="na-456" value="na">n/a</li> 
 
    </ul> 
 

 
    <input type="submit"> 
 

 
</form>