У меня есть ряд выпадающих списков, которые могут быть выбраны пользователем. Затем я хочу иметь две разные кнопки отправки, которые будут выполнять два разных действия с выбранными данными. Я пытаюсь закодировать кнопку отправки для запуска выбранного php, но когда я нажимаю кнопку, ничего не происходит. Любая помощь приветствуется, мой код ниже. AFAIK единственные релевантные биты — это моя функция formSubmit и тег ввода в нижней части кода.
редактировать: я отредактировал большую часть кода и оставил фрагменты, которые я считаю актуальными. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
<!DOCTYPE html>
<?php
require 'config.php'; // Database connection
//////// End of connecting to database ////////
?>
<html>
<head>
<SCRIPT language="JavaScript">
//Scripts
function submitForm(action)
{
document.getElementById('f1').action = action;
document.getElementById('f1').submit();
}
</script>
</head>
<body>
<div>
<?Php
//Beginning of Form
echo "<form method=post name='f1' action =''>";
//Dropdown boxes are here//This line is what is not working:
echo "<input type='submit' value='Careers' onclick=\"submitForm('rt.php')\">";
echo "</form>";
?>
</div>
</body>
</html>
Не совсем уверен, что не так с функцией, xe4me может иметь правильный ответ. Однако я просто изменил свой onClick на это, и это сработало:
onClick=\"document.f1.action='rt.php'; document.f1.submit(); return true;\"
Вы используете document.getElementById('f1')
в submitForm
функция
function submitForm(action)
{
document.getElementById('f1').action = action;
document.getElementById('f1').submit();
}
Но ваша форма не имеет id
атрибут из-за этой строки кода
echo "<form method=post name='f1' action =''>";
поэтому форма не будет отправлена при нажатии кнопки Careers
кнопка. Вам нужно добавить id='f1'
приписать форму, изменив приведенную выше строку кода ниже
echo "<form id='f1' method='post' name='f1' action =''>";
Попробуйте метод jQuery:
http://api.jquery.com/jquery.post/
с
Как получить идентификатор кликаемого элемента с помощью jQuery
Всякий раз, когда нажимается какая-либо кнопка, найдите ее идентификатор и, исходя из этого, используйте $ .post для публикации данных в нужном месте.
Вы должны добавить класс к своей кнопке и вызвать onclick на основе этого имени класса:
<?Php
....
echo "<input type='submit' class='submitter' data-action='rt.php' value='Careers' >";
echo "</form>";
?>
// В Javascript:
document.getElementByClassName('submitter').onclick = function(){
var action = this.data('action');
document.getElementById('f1').action = action;
document.getElementById('f1').submit();
}