我有一系列可以由用户选择的下拉框。然后我想要两个不同的提交按钮,它们将对所选数据执行两个不同的操作。我试图编写提交按钮来运行选定的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>
答案 0 :(得分:1)
不太确定函数有什么问题,xe4me可能有正确的答案。但是,我刚刚将onClick更改为了这个并且它有效:
onClick=\"document.f1.action='rt.php'; document.f1.submit(); return true;\"
答案 1 :(得分:1)
您在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 =''>";
答案 2 :(得分:0)
尝试使用jQuery方法:
http://api.jquery.com/jquery.post/ 同 How to get ID of clicked element with jQuery
每当点击任何按钮时,找到它的ID并根据它,使用$ .post将数据发布到您想要的位置。
答案 3 :(得分:0)
您必须在按钮中添加一个类,并根据该类名称调用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();
}