【问题标题】:Form inside a hidden div has no values on post隐藏 div 中的表单在帖子中没有值
【发布时间】:2010-03-28 16:03:02
【问题描述】:

我有一个 html 表单,可以在提交时发布到新页面。如果需要,用户可以单击一个按钮以在 div 框中显示一个小表格。这会在我的表单中添加更多文本输入字段。

问题是,无论 div 框是隐藏还是可见,在发布表单时都不会发送任何其他字段数据。

div 框代码

      function quotevisi()
  {
  document.getElementById("quote").style.visibility = "visible";
  tdat = "" ;
  tdat += "<h2 align='center' >Client Quotation </h2>" ;

  tdat += "<table align='center'cellpadding='1'  width='690px'><tr>"
  tdat += "<td ></td><td>Additional 1</td>" ;
  tdat += "<td ><label><textarea id='line1' cols='50' rows='1'>"
  tdat += "</textarea></label></td></tr>" 

  tdat += "<td ></td><td >Additional 2 </td>" ;
  tdat += "<td ><label><textarea id='line2' name='line2' cols='50' rows='1'>"
  tdat += "</textarea></label></td></tr>"

  tdat += "<td ></td><td >Additional 3 </td>" ;
  tdat += "<td ><label><textarea id='line3' name='line3' cols='50' rows='1'>"
  tdat += "</textarea></label></td></tr>"

  tdat += "<td ></td><td >Special Instructions</td>" ;
  tdat += "<td ><label><textarea id='special' name='special' cols='50' rows='1'>"
  tdat += "</textarea></label></td></tr>"

  tdat += "<td ></td><td ></td> <td>" ;
  tdat += "<input type='button' value='View Quote'          onclick='view_quote()'            />  "

  tdat += "<input type='button' value='Close' onclick='closequote()' />  " 

  tdat += "<td ></td> " ;

  tdat += "</table> "

  // display in the quote div (style sheet) 
  document.getElementById('quote').innerHTML= tdat
  }

表格有点大,但是隐藏字段的按钮是这个

<td ><input class="buttn" type="button" value="Extra Quote details "   onclick="quotevisi();" /> </td> 

我认为所有这些信息都将与 post 上的表格一起使用。但它没有。哦终于把div框代码放在这行后面了

<form  style='background-color:ccc' id='form1' name='form1' method='post' action='process.php' > 

任何帮助或想法将不胜感激

感谢米克

【问题讨论】:

  • 您能否添加一段实际 HTML 的摘录,其中显示
    元素适合的位置以及 id 为 'quote' 的元素存在的位置。
  • @Mick:很高兴 Bialecki 想通了。如果您有机会拥有 IE 用户,请务必在 IE 上进行测试;以这种方式添加表单元素是 IE 中的一个已知问题。

标签: php javascript forms


【解决方案1】:

我不得不猜测表单不包含“quote”元素,但真正有用的是更完整的 HTML sn-p。

【讨论】:

  • 感谢 cmets 。我在表单标签之前有
    。一旦我把它放在表格之后,它就很受欢迎!谢谢大家的帮助
【解决方案2】:

通过innerHTML 添加表单元素(不幸的是)不可靠,尤其是在 IE 中。 (表格行等也有这个问题。)This page 列出了一个聪明的小解决方法。大多数 JavaScript 库(如 jQueryPrototypeClosure、...)都会为您提供解决方法,FWIW。

表单字段的可见性(例如,它们是否在隐藏的 div 中)不应该对它们与表单一起提交有任何影响。当然,disabled 表单字段不会提交,但我不认为您正在禁用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多