Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript更新控件已加载_Javascript - Fatal编程技术网

javascript更新控件已加载

javascript更新控件已加载,javascript,Javascript,我有两个html页面 一个对另一个执行“get”方法 这些页面是重复的,因为它们都拥有相同的控件类型 和控件名称 当我从源页面提交表单时,我的url字符串由附加在“?”字符后面的值组成 ....?txtName=era&txtAge=28&gender=male&langHe=on&langEn=on&select=1 在detestation页面onload中,我调用了一个函数,该函数拆分控件名及其值并设置它们 // this

我有两个html页面 一个对另一个执行“get”方法 这些页面是重复的,因为它们都拥有相同的控件类型 和控件名称

当我从源页面提交表单时,我的url字符串由附加在“?”字符后面的值组成

  ....?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);