请教下,如何用JS或者JQuery获取一组服务器控件的值

zftnt 2017-05-05 10:51:14
web页面上有一组input,带runat = "server",大概20多个input。如何用JS获取这组input的值?

<tr>
<td class="order_more" valign="middle" width="8%"><input id="Text1" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text2" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text3" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text4" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text5" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text6" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text7" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text8" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text9" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text10" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
</tr>
<tr>
<td class="order_more" valign="middle" width="8%"><input id="Text11" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text12" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text13" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text14" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text15" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text16" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text17" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text18" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text19" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
<td class="order_more" valign="middle" width="8%"><input id="Text20" name="qty" type="text" runat="server" size="18" style="width:80%; height: 25px;" onkeyup="value=value.replace(/[^\- \d.]/g,'')" /></td>
</tr>

我用了如下代码:

var result = 0;
result = $("input[id^='Text']").val();

可是获取不到,请大神指教下
...全文
218 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-05-05
  • 打赏
  • 举报
回复
这样得到的应该是一个集合,集合的val没值,循环得一下
  • 打赏
  • 举报
回复
你放到母版,GridView,repeater或者自定义控件ascx里面了吧,这样id是会变的,会加上父容器的id作为前缀,所以你那个选择器肯定不对了,gv或者repeater还会加上行号之类的 而且val只会获取第一个控件的值,你要获取所有的需要map下,改这样,通过td来定位

var result = 0;
 result = $('td.order_more input').map(function(){return this.value}).get().join();
alert(result)
cn00439805 2017-05-05
  • 打赏
  • 举报
回复

var inputs = Array.prototype.concat.apply([],document.querySelectorAll("input[id^='Text']"))
console.log(inputs.map(item => item.value));
xiaojunjor 2017-05-05
  • 打赏
  • 举报
回复

//你这样只能获取到匹配元素中第一个元素的value,改成
var result = [];
$("input[id^='Text']").each(function(a,b){result[a] = b.value;});

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧