先说下我的情况支付页面:
两个单选框:支付宝、手机支付
输入金额框
一个提交按钮想通过js来控制提交到的POPST目标页面因为支付宝和手机支付的付款接受页面是不同的,路径也不同如果用户选择的是“支付宝”充值,就跳到:alipay/alipayto.php
如果用户选择的是“手机支付”充值,就跳到:moblie/dodirectpayment_token.php
html代码:
<FORM name="form1" method="post">
支付宝:<input type="radio" name="payMethod" value="alipay" checked/>
手机支付:<input type="radio" name="payMethod" value="mobile" />
充值金额:<input type="text" name="money" maxlength="30" size="10" value="10" /> 
<input name= "btn" type="submit" value="立即充值" onClick="javascript:btn_onsubmit(); "> 
</FORM>
JS代码:
function btn_onsubmit() 
{
var val = GetRadioValue("payMethod");
var page = "";  switch(val) 

case "alipay": 
page = "alipay/alipayto.php"; 
break;  case  "mobile": 
page = "moblie/dodirectpayment_token.php"; 
break; 
}  window.form1.action = page; 
window.form1.submit; } //循环提取单选值-可以忽略不看
function GetRadioValue(RadioName){
    var obj;    
    obj=document.getElementsByName(RadioName);
    if(obj!=null){
        var i;
        for(i=0;i<obj.length;i++){
            if(obj[i].checked){
                return obj[i].value;            
            }
        }
    }
    return null;
}
</script>
现在不知道为什么,JS的这两句: window.form1.action = page; 
window.form1.submit; 似乎不起作用?也就是我点按钮,JS操作的方法里
page变量可以成功赋值,但没有跳转到POST目标页面

解决方案 »

  1.   

    document.form1.submit();
      

  2.   


    果然可以了,不过表单的传输方式变成了get过去,不是post,有点晕
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=gb2312">
    <title> new document </title>
    <meta name="keywords" content="">
    <meta name="description" content="">
    </head>
    <script type="text/javascript">
    <!--
    function btn_onsubmit() 
    {    
        var val = GetRadioValue("payMethod");
        var page = "";     switch(val) 
        { 
            case "alipay": 
                page = "alipay/alipayto.php"; 
            break;         case  "mobile": 
                page = "moblie/dodirectpayment_token.php"; 
            break; 
        }     window.form1.action = page; } //循环提取单选值-可以忽略不看
    function GetRadioValue(RadioName){
        var obj;    
        obj=document.getElementsByName(RadioName);
        if(obj!=null){
            var i;
            for(i=0;i<obj.length;i++){
                if(obj[i].checked){
                    return obj[i].value;            
                }
            }
        }
        return null;
    }
    //-->
    </script>
    <body>
    <FORM name="form1" method="post" onsubmit="return btn_onsubmit()">
    支付宝:<input type="radio" name="payMethod" value="alipay" checked/>
    手机支付:<input type="radio" name="payMethod" value="mobile" />
    充值金额:<input type="text" name="money" maxlength="30" size="10" value="10" /> 
    <input name= "btn" type="submit" value="立即充值"> 
    </FORM>
    </body>
    </html>
      

  4.   

    document.form1.method= "POST ";
    试试 。