У меня есть форма, в которой есть только один селектор, в котором параметры чаще всего заполняются php, которые в настоящее время передаются <input type="submit" name="courseSubmit"/>
echo '<form name="CourseForm" action="" method="post">';
echo '<select name="CourseSelect"><option value="0">Select Course</option>';
$result = mysqli_query($con," SELECT * FROM course c ");
while($row = mysqli_fetch_array($result))
{
echo "<option value='".$row['IDNum']."' ".$select.">" . $row['Title'] . "</option>";
}
echo '</select>';
echo '<input name="CourseSubmit" type="submit"/></form>';
После нажатия кнопки страница отправляется, а затем используя $_POST['CourseSelect']
я могу получить значение select.
Однако, когда я пытаюсь заменить функциональность кнопки отправки с помощью onchange="this.form.submit()"
внутри моего выбора, форма не представляется поданной
Я знаю, что могу называть js-функции из php, например
echo "<select onchange="myjsFunction()">";
существует способ использования jquery для отправки формы в той же самой усадьбе, что и при использовании <input type="submit"/>
?
Вы могли бы сделать что-то вроде:
$('select[name=CourseSelect]').change(function(){
$(this).closest('form').submit();
});
И игнорируйте атрибут onchange полностью для элемента HTML.
Здесь рекурсивный пример: http://jsfiddle.net/erXxd/1/
form
входного элемента - это форма, которая его содержит.