我想创建一个简单的公式,将用户引导到2个不同的页面(取决于他们选择的内容)。我使用getElementById.innerHTML来区分网站中的代码以创建两个不同的<form action="SENDTHEUSERHERE" method="POST">
- HTML元素。
这是代码:
if (blabla which works)
{
document.getElementById("insert").innerHTML = "<form action='insert.php' method='POST'>";
}
else if (blabla which works)
{
document.getElementById("service").innerHTML = "<form action='service.php' method='POST'>";
}
// MORE BLABLA-CODE
<span id='insert'></span>
<span id='service'></span>
// REST OF THE FORMULAR
当我发送此公式时,它会将我引导到它发送的同一页面。我猜这意味着,那些.innerHTML-Elements无法识别。你有什么建议我可以解决这个问题吗?顺便说一下..是的,我是一个Javascript Noob -_-
感谢您的帮助!
答案 0 :(得分:3)
只需更改表单操作,而不是使用innerHTML
...
if (conditionOne) {
document.forms['formName'].action = 'insert.php';
} else if (conditionTwo) {
document.forms['formName'].action = 'service.php';
} else {
alert('Error!');
}
答案 1 :(得分:2)
您必须发布完整的HTML网页+ javascript代码或显示问题的实际示例。从你发布的小信息中,我们无法分辨出可能出现的问题。
但是,那说,你是以错误的方式解决这个问题。不是改变某些节点的innerHTML,而是让一个表单没有动作,然后在javascript中做类似的事情:
<form id="myForm">
var myForm = document.getElementById( "myForm" );
myForm.action = ( someConditionHere ) ? "insert.php" : "service.php";
答案 2 :(得分:1)
如果您的示例是您需要执行的操作,则只需修改现有表单的操作属性即可。
<form method='post' action='nowhere'>
<stuff>
</form>
<script type='text/javascript'>
if (something) {
document.forms[0].action = 'insert.php';
} else {
//etc
}
</script>