用js给一个文本框赋值,然后再后台得到这个文本框中输入的值,但在后台得到始终是空值(都是在同一个页面)查看了一下是因为js代码是后执行的,服务器端代码是先执行的,各位帮忙给个解决方案,非常感谢!
js
function getOrder() {
var a = document.getElementsByName("SortOrder");
var b = "";
for (var i = 0; i < a.length - 1; i++) {
b += a[i].value;
document.getElementById("TextBox1").value = b;
}
//alert(document.getElementById("TextBox1").value);
}
页面
<input id="TextBox1" runat="server" onclick="getOrder()" />
后台
string orderid = TextBox1.Value;
始终是空值,
js
function getOrder() {
var a = document.getElementsByName("SortOrder");
var b = "";
for (var i = 0; i < a.length - 1; i++) {
b += a[i].value;
document.getElementById("TextBox1").value = b;
}
//alert(document.getElementById("TextBox1").value);
}
页面
<input id="TextBox1" runat="server" onclick="getOrder()" />
后台
string orderid = TextBox1.Value;
始终是空值,
<input id="TextBox1" runat="server" name="TextBox1" onclick="getOrder()" />后台
string orderid = request.form["TextBox1"];记住request.form["前台控件的name属性值"]
{
string type = Request.QueryString["type"];
if (type == "sort")
{
int id = Convert.ToInt32(Request["id"]);
//文本框输入的序号
string orderid = HiddenField1.Value;
var res = (from a in dc.VM_SYS_Menu
where a.MenuID == id
select a).Single();
res.MenuOrder = Convert.ToInt32(orderid);
dc.SaveChanges();
}
}
要在pageload事件中调用啊
后台获取值为 Request.Form["id"]//根据表单控件的name得到值
string orderid = HiddenField1.Value;
var a = document.getElementsByName("SortOrder");
var b = "";
for (var i = 0; i < a.length - 1; i++) {
b += a[i].value;
document.getElementById("<%=this.TextBox1.ClientID%>").value = b;
}
}
是在列表项的文本框中输入文字,然后将输入的文字赋值给页面上的一个textbox或是隐藏域,最后在后台得到这个值
就是页面加载完毕后,执行js代码,用js让他提交表单,这样后台就可以获得到了,
document.getElementById('form').submit();
然后后台再进行操作
可行吗?
<input runat="server" id="text1"></input>
绝对能用
就是说我在前台页面用脚本给一个input控件赋值后,在后台可以获取到脚本赋的值