2014-09-01 49 views
-1

我怎样才能改变onSubmit值动态或者我应该删除onSubmit并有<action="return zomlink();">变化行动

我想是改变action/onsubmit链接到一个新的链接取决于他们选择什么样的选择下拉框。我不能使用Jquery我需要它在简单javascript窗体。

<form method="post" id="buyvipform" name="buyvipform" class="buyvipform" onSubmit="return zomlink();"> 

<select name="zomlink" id="zomlink" style="margin-top: 290px;"> 
<option value="1906083">3 days Trial (2€)</option> 
<option value="1906104">31 days (19€)</option> 
<option value="1906125">90 days (50€)</option> 
<option value="1906146">365 days (99€)</option> 
</select> 


<input type="submit" value="" style="background:url(<?php bloginfo('template_directory'); ?>/images/vbestall.png) no-repeat; width: 106px; height: 40px; border: 0px;"> 
<input type="hidden" name="hide_credits" value="True"> 

</form> 

脚本:

function zomlink() { 
    if(document.zomlink.value == '1906104') { 
    document.buyvipform.action = 'http://google.com'; 
    } 
    if(document.zomlink.value == '1906125') { 
    document.buyvipform.action = 'http://facebook.com'; 
    } 

    return true; 
} 

小提琴:http://jsfiddle.net/6x4u28yd/

+0

你的意思。例如有人选择了不同的选项形式在不同的页面提交??? – 2014-09-01 20:59:47

+0

嘿,它应该改变表单动作链接或在这种情况下,形式onSubmit值为另一个值。所以表单被提交到正确的链接。 – 2014-09-01 21:05:21

+0

我发表评论,因为我不确定为什么你会在这种情况下使用提交按钮。但是,请查看此片段http://jsbin.com/foyanasitici/1/edit – hex494D49 2014-09-01 21:08:31

回答

0

编辑:这是一个非jQuery的解决方案。

<form method="get" id="buyvipform" name="buyvipform" class="buyvipform"> 

<select name="zomlink" id="zomlink" style="margin-top: 290px;"> 
    <option value="1906083">3 days Trial (2€)</option> 
    <option value="1906104">31 days (19€)</option> 
    <option value="1906125">90 days (50€)</option> 
    <option value="1906146">365 days (99€)</option> 
</select> 

<input type="hidden" name="hide_credits" value="True"> 

</form> 

<button onclick="zomlink()">Submit</button> 


<script> 

function zomlink() { 

    var myForm = document.forms["buyvipform"]; 

    if(document.getElementById("zomlink").value == '1906104') myForm.action = 'http://google.com'; 
    else if(document.getElementById("zomlink").value == '1906125') myForm.action = 'http://facebook.com'; 

    document.getElementById("buyvipform").submit(); 

} 
</script> 
+0

您是否阅读过该问题? “我不能使用jquery,我需要它以纯javascript的形式” – LcSalazar 2014-09-01 21:04:11

+0

@LcSalazar道歉。我已经从解决方案中删除了jQuery。 – Chad 2014-09-01 21:17:43

0

取而代之的是submit输入的,设定你的输入为type=buttononclick=""事件添加到它,检查你想要的条件。

然后,从表单DOM元素调用.submit();方法。

<form method="post" id="buyvipform" name="buyvipform" class="buyvipform"> 

    <select name="zomlink" id="zomlink" style="margin-top: 290px;"> 
     <option value="1906083">3 days Trial (2€)</option> 
     <option value="1906104">31 days (19€)</option> 
     <option value="1906125">90 days (50€)</option> 
     <option value="1906146">365 days (99€)</option> 
    </select> 


    <input type="button" onclick="zomlink();" value="Submit" style="background:url(<?php bloginfo('template_directory'); ?>/images/vbestall.png) no-repeat; width: 106px; height: 40px; border: 0px;" /> 
    <input type="hidden" name="hide_credits" value="True" /> 

</form> 

JS:

function zomlink() { 
    var form = document.getElementById("buyvipform"); 
    var select= document.getElementById("zomlink"); 

    if(select.value == '1906104') { 
     form.action = 'http://google.com'; 
    } 
    if(select.value == '1906125') { 
     form.action = 'http://facebook.com'; 
    } 

    form.submit(); 
}