JavaScript技术问题分析:
问题1:在有一个下拉框选项中,提交form表单的参数时,下拉框的值不会回显;form表单点击事件之后,发送的是普通请求;window.location.href = "http://IP地址:端口/资源名称?参数=XXXXXX";返送的普通请求重新返回这个页面之后,页面刷新参数不回显;
分析:普通请求window.location.href = "http://IP地址:端口/资源名称?参数=XXXXXX"发过去之后,页面重新刷新了一下,导致的问题;
解决方案:需要把刚才第一次提交form表单的<select><option value = "1">XXX</option></select>
select里面的对应option的参数值给缓存到页面;等页面刷新之后再设置选中进行回显操作;
在window.location中有一个属性; ---->> search设置或返回从?开始的 URL(查询部分);
使用这个方法,window.location.search的属性方法,返回"?"之后的URL;就可以获取URL的search的参数值; 比如: http://baidu.com?value=1,使用之后返回的值是 ?value=1;
获取URL的参数之后,截取值的部分. 使用substring方法截取值;然后重新给option设置选中的属性;
$("option[value='"+1+"']").attr("selected",true);
form表单提交select之后的option就会被重新选中;
注意:
重新设置属性不能写在点击之后之后你的window.location.href 的属性之后,因为普通页面跳转的方法执行之后,他之后JS语句是不会执行的;让浏览器自动加载;就是要把重新设置属性的JS代码也在其他事件(方法)之外,让页面重新加载的时候自动执行这样的JS代码(重新设置select选中的操作);