繁体   English   中英

Javascript-getElementById.innerHTML问题

[英]Javascript - getElementById.innerHTML Problem

我想创建一个简单的公式,将用户引导到2个不同的页面(取决于他们选择的内容)。 我正在使用getElementById.innerHTML来更改站点内的代码,以创建两个不同的<form action="SENDTHEUSERHERE" method="POST"> -HTML-Elements。 这是代码:

 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 -_-

谢谢你的帮助!

只需更改表单操作即可,而不是使用innerHTML ...

if (conditionOne) {
    document.forms['formName'].action = 'insert.php';
} else if (conditionTwo) {
    document.forms['formName'].action = 'service.php';
} else {
    alert('Error!');
}

您将必须发布完整的HTML页面+ javascript代码或一个显示问题的有效示例。 从您发布的内容来看,不可能分辨出什么地方出了问题。

但是,也就是说,您要以错误的方式处理此问题。 不用更改某些节点的innerHTML,而是采用一种不执行任何操作的形式,然后在javascript中执行以下操作:

<form id="myForm">

var myForm = document.getElementById( "myForm" );
myForm.action = ( someConditionHere ) ? "insert.php" : "service.php";

如果您的示例是您需要执行的操作,则只需修改现有表单的action属性即可。

<form method='post' action='nowhere'>
<stuff>
</form>

<script type='text/javascript'>
if (something) {
  document.forms[0].action = 'insert.php';
} else {
  //etc
}
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM