【问题标题】:getting hidden fields value获取隐藏字段值
【发布时间】:2011-03-01 13:27:27
【问题描述】:

我正在开发一个 Struts2 应用程序。我在 JSP 中设置隐藏字段的值,目的是通过 JavaScript 访问它。

我的 JSP 代码:

<s:iterator value="collegelist">
    <tr>
        <td align="center"><s:property value="collegename"/></td>
        <s:hidden name="hiddenname" key="collegename" />  
    </tr> 
</s:iterator>

我的 JS 代码:

var myForm = document.frmAction;
var text = myForm.hiddenname.value;
alert("hidden field text is:" + text);

警报显示一个空白值。

这是什么原因,我该如何解决?

【问题讨论】:

  • 你拼错document.frmAction了吗?
  • 正确:var myForm = document.frmAction;
  • @singh: alert(myForm);它显示为空吗?
  • @Suresh S: alert(myForm);显示:[object HTMLFormElement]
  • 你的隐藏元素是否包含任何值.. 我试过了,它可以工作jsbin.com/ajajo4/edit

标签: java javascript html jsp struts2


【解决方案1】:

试试

element = document.getElementsByName("hiddenname");
alert(element[0].value);

【讨论】:

    【解决方案2】:

    您生成多个具有相同名称的字段,因为您的代码位于 s:iterator 标记内。显然,您的 Javascript 中也应该有这样的循环:

    var hiddenFields = document.getElementsByName("hiddenname");
    for (var i = 0; i < hiddenFields.length; i++) {
        alert("hidden field text is::" + hiddenFields[i].value);
    }
    

    另外,验证生成的 HTML 中的值不为空,并且隐藏字段的名称为 hiddenname。

    【讨论】:

    • 这里也有问题: 它显示在警报 它不打印值
    • 您不能将一个标签作为另一个标签的属性。试试
    • 学院名将在运行时生成。请建议
    【解决方案3】:

    我尝试了您的代码,它确实有效.. 问题出在您的服务器代码本身的某个地方..

    看这里:http://jsbin.com/ajajo4/2/edit

    【讨论】:

    • 嗨 Shekhar 感谢您的回复。问题也存在 它显示在警报 它不打印Collegename 大学名称的值将从列表中动态生成。所以我只能使用 标签在隐藏字段中发送值。但它不工作。请查看。
    【解决方案4】:

    确保您只有一个名为“frmAction”的表单和一个名为“hiddenname”的隐藏字段。如果你有多个,你会得到一个数组而不是一个值。

    【讨论】:

      【解决方案5】:

      问题的根源在于您在迭代器中。 Struts 会为您更新名称,以便正确连接所有内容。如果您打开页面并查看源代码,您的隐藏字段可能会如下所示:

      <input type="hidden" name="collegelist[0].hiddenname" value="thename"/>
      

      无论如何,如果您希望按名称进行检索,请不要相信您提供给 struts 标记的名称。始终拉出生成的源并查看该字段的实际名称。

      【讨论】:

      • 如何在迭代中使用 Struts2 标签分配隐藏值。我的 JSP 代码如下所示:it将隐藏字段值作为它在警报上显示的字符串:java脚本代码:var text = myForm.hiddenname.value;警报(文本);请建议
      猜你喜欢
      • 2010-10-20
      • 2011-03-12
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      相关资源
      最近更新 更多