2013-04-09 98 views
2

我有以下脚本构建像这样一种形式:的Javascript“动态”的形式串联串到形式的行动

var sHTML = ""; 
sHTML += "<form id='formScore' method='post' action='q_process3.aspx’>"; 
sHTML += " "; 
sHTML += "<input type='hidden' id='Title' name='Title' value= " + title + ">"; 
sHTML += "<input type='hidden' id='Result' name='Result' value= " + resultstatus + ">"; 
sHTML += "<input type='hidden' id='ScorePctg' name='ScorePctg' value= " + scorepctg + ">"; 
sHTML += "<input type='hidden' id='ScorePoints' name='ScorePoints' value= " + scorepoints + ">"; 
sHTML += "<input type='hidden' id='PassingPctg' name='PassingPctg' value= " + passingpctg + ">"; 
sHTML += "<input type='hidden' id='PassingPoints' name='PassingPoints' value= " + passingpoints + ">"; 
sHTML += "<br><input type='submit'><br>"; 
sHTML += "<form>"; 

document.getElementById("divEmail").innerHTML = sHTML; 
document.getElementById("formScore").submit(); 

然而,当此提出,动作/ URL它指向的是:
q_process3.aspx '%3E%20%3Cinput%20type =
因此,它看起来像是立即连接第一个输入标签到字符串中表单元素的action属性。我究竟做错了什么?或俯瞰?我知道这很简单。

+2

您的行为URL后面有一个明智的报价。这是来自你的代码还是只是一个复制粘贴问题?当你将它改为常规的tick报价'''时会​​发生什么? – 2013-04-09 16:18:47

+0

您没有正确关闭''标记。 – fernandosavio 2013-04-09 16:30:06

回答

1

在你的代码错字错误

sHTML += "<form id='formScore' method='post' action='q_process3.aspx’>"; 
                ^   ^
sHTML += "<form>"; // ought to be </form> 

是否有理由立即提交表单?

document.getElementById("formScore").submit(); 
+0

报价有差异。谢谢。我在发布帖子后立即收到了结束标签,但似乎没有问题。再次感谢.... – Andrew 2013-04-09 17:16:11

+0

不客气! – Givi 2013-04-09 17:17:19

1

如果我把你的代码运行在jsFiddle中,我会得到一个很长的,破损的表单动作。

如果我用一个普通的旧的tick报价(我不确定正确的namings)替换您的动作的结尾智能报价,表单动作设置正确。

更改表单标签字符串:

sHTML += "<form id='formScore' method='post' action='q_process3.aspx'>"; 

应该这样做。

+0

谢谢,我知道这是我忽视的东西 – Andrew 2013-04-09 17:17:10