firefox 31的问题,因为javascript提交无法正常工作。产品页面出现问题,因为在选择产品后,它没有导航到购物车页面或心愿单页面。我已经在其他浏览器和firefox 30上测试了它,它可以正常工作。我也尝试禁用其他插件,但它没有工作。我调试下面给出的代码片段,它的变量按照逻辑获得所需的值,例如,只有当用户检查了字段时才进入else。我会很感激任何快速的解决方案。
echo "<input class=\"button wish_btn_style\" type=\"submit\" value=\"Add to
wishlist\" onclick=\"return changelocation('wishlist.php')\"><!--img
src=\"img/wishlist_small.png\" width=\"16\" height=\"15\"-->";
echo "<input class=\"button cart_btn_style\" type=\"submit\" value=\"Add to cart\"
onclick=\"return changelocation('cart.php')\"><!--img src=\"img/cart_gray.png\"
width=\"32\" height=\"24\"-->";
function changelocation(action)
{var canigo=0;
var x=document.getElementById('txt_quent').value;
var status;
if((x=="") || isNaN(x))
{
alert("Please enter quantity only in number");
var canigo=1;
return false;
}
if(canigo==0)
{status=$('input:radio[name="subid"]:checked').val();
if(isNaN(status))
{
alert('Please select the desired product specification');
return false;
}
else
{
document.getElementById('product').action=action;
document.getElementById('product').target='_self';
document.getElementById('product').submit();
return true;
}
}
}
答案 0 :(得分:0)
您的表单中是否有一个名为“action”的输入字段?
我在Firefox 31中遇到了一些旧代码的错误。在以前版本的Firefox中,.action已解析为表单的“action”属性,但在版本31中,它已更改为解析为名为'的输入字段而是在页面上执行操作。
我使用jQuery重新开始工作:
$("#defForm").attr("action", sURL);
或者,我可以更改页面上使用的输入字段命名约定。
我很想了解Firefox行为发生变化的原因。
答案 1 :(得分:-1)
编辑:在最后的帖子中解决了我的问题。
我遇到了同样的问题,但我使用输入操作,为我更改输入名称是个大问题。
此脚本适用于以前版本的Firefox 31。
if(ie){
for(i=document.getElementById('miForm').attributes.length-1;i>0;i--){
if(document.getElementById('miForm').attributes[i].name=='action'){
document.getElementById('miForm').attributes[i].value='../views/newJSP.jsp';
break;
}
}
}else document.getElementById('miForm').action='../views/newJSP.jsp';
document.getElementById('action').value='abrir';
document.getElementById('miForm').submit();
在Firefox中if(ie)不返回任何带有name动作的属性,在以前的版本中它返回动作属性。
我没有任何解决方案。
编辑: 这是一个错误?
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.action
解决方案:
我的脚本在for循环中有错误。 在ie中,表单中属性的长度为116,action属性位于114,但在firefox中,长度为5,action为0。
这是更新form.action。
的代码for(i=document.getElementById('miForm').attributes.length-1;i>=0;i--){
if(document.getElementById('miForm').attributes[i].name=='action'){
document.getElementById('miForm').attributes[i].value='../views/newJSP.jsp';
break;
}
}