如何从html的输入控件中获取值

时间:2011-06-24 09:59:33

标签: c# .net asp.net html

我有一个由第三方控件生成的表。该表只有一行和一列。在此列中的html文本如下:

<p>
    this is a test</p>
<p>
    <input name="amount" type="text" value="this is for amount" /></p>
<p>
    this is a test</p>
<p>
    <input name="test" type="text" value="this is for test" /></p>
<p>
    this is a test</p>

问题是如何获取html输入控件中保存的值? 我尝试了以下代码,但它失败了:

t.Rows[0].Cells[0].FindControl("amount");

提前感谢...

5 个答案:

答案 0 :(得分:1)

您可以使用以下代码段在javascript函数中检索所需的值:

function getValue()
{
    //First method
    var val= document.getElementsByName("amount");
    alert("Val by Element Name:-" +val(0).value);

    //Second method
    val= document.getElementById("amount");
    alert("Val by element Id:-" +val.value);

    //third method
    val= document.getElementsByTagName("input");
    alert("Val by Tag:-" +val(0).value);
    alert("Val by Tag:-" +val(1).value);
}

假设:您知道第三方工具获取的表格中输入控件的名称。

答案 1 :(得分:0)

由于它是第三方控件,因此它应该允许您通过控件的属性访问控件的值。检查属性和文档。

答案 2 :(得分:0)

你的意思是什么时候回传表格?在这种情况下,只需使用

Request["amount"]

获得价值。

答案 3 :(得分:0)

使用HiddenControl和jQuery。

<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
  <script>
    $(documet).ready(function(){
      var inputVals = '';
      $('#yourThirdPartyTableID').find('input[type=text]').each(function() {
         inputVals  = inputVals + $(this).val()  + ', ';
      });
      $('#<%= YourHiddenControlID.ClientID %>').val(inputVals);
    });
  </script>

上面的代码会将第三方表中所有文本输入的值插入由逗号分隔的隐藏控件中。您可以将逗号更改为其他任何内容,以便更容易在服务器端代码上进行拆分。

如果您要查找“名称”为“金额”的输入值,请执行以下操作:

<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
  <script>
    $(documet).ready(function(){
      $('#<%= YourHiddenControlID.ClientID %>').val($('#yourTableID').find('[name="amount"]').val());
    });
  </script>

答案 4 :(得分:-1)

除非你说runat =“server”,否则没有直接的方法来检索输入控件的值。

我的建议是使用runat =“server”标记并尝试使用VALUE属性获取值。

否则你可以使用Page.FindControl('')并查看控件是否返回null而不是...然后我觉得它会起作用。

如果您使用的是ajax或master-content页面,则控件ID将不是您给出的那个....所以请确保您自己提供正确的ID(使用页面的查看源)