javascript更新控件已加载
我有两个html页面 一个对另一个执行“get”方法 这些页面是重复的,因为它们都拥有相同的控件类型 和控件名称 当我从源页面提交表单时,我的url字符串由附加在“?”字符后面的值组成javascript更新控件已加载,javascript,Javascript,我有两个html页面 一个对另一个执行“get”方法 这些页面是重复的,因为它们都拥有相同的控件类型 和控件名称 当我从源页面提交表单时,我的url字符串由附加在“?”字符后面的值组成 ....?txtName=era&txtAge=28&gender=male&langHe=on&langEn=on&select=1 在detestation页面onload中,我调用了一个函数,该函数拆分控件名及其值并设置它们 // this
....?txtName=era&txtAge=28&gender=male&langHe=on&langEn=on&select=1
在detestation页面onload中,我调用了一个函数,该函数拆分控件名及其值并设置它们
// this is called from <body onload="f();">
function f() {
var st = new String(location.search);
st = st.substring(1, st.length);
var input = st.split('&');
var value;
var ctrl;
var val;
var _control;
for (var i = 0; i < input.length; i++)
{
value = input[i].substring(0, input[i].length);
ctrl = value.substring(0, value.indexOf('='));
val = value.substring(value.indexOf('=') + 1, value.length);
_control = document.getElementsByName(ctrl);
_control.value = val;
}
}
//这是从
函数f(){
var st=新字符串(location.search);
st=st子串(1,st长度);
var输入=st.分割('&');
var值;
var-ctrl;
var-val;
var_控制;
对于(变量i=0;i
我调试了这个函数,并检查了所有东西是否都按它应该的方式放置到位
问题在于,在将值设置到控件之后它们不会出现在页面上,就好像它们根本没有设置一样 此外,在Google chrome中,我在这些操作后会出现“Aw,Snap!”错误(Aw Snap仅在调试时发生) 我是java脚本新手,我猜我分配这些值的方式有问题,我也尝试了第一个控件,它是文本类型的输入,也没有得到更新 你知道为什么这样不行吗? 提前谢谢
埃兰 尝试将最后一行更改为:
_control[0].value = val;
更新:
如果您使用:
我已经更新了我的答案。我认为jQuery的函数应该适用于所有控件。谢谢,我实际上要抛出它们并检查输入类型的每一种情况。提到框架,请加1。我喜欢ender,如果你不使用框架来减少网络开销,它会更小。你使用javascript来解析和分配PHP通常处理的事情有什么原因吗?是的,这是学校分配这是供选择的:
$('[name='+ctrl+']').val(val);