在提交之前将复选框值加入字符串的脚本

时间:2016-04-04 20:46:16

标签: javascript forms checkbox paypal concatenation

我有一个paypal结帐表单,我需要将多个选中的复选框值(name =" cb1")连接成一个字符串,以便将其作为隐藏输入提交(name =&#34 ; os1")值。我试图解决这个问题。我知道JS很少!有人可以帮忙吗?



<div id="buyform">
        <form target="paypal" id="ppform" name="ppform" action="https://www.paypal.com/cgi-bin/webscr" method="post" >
        <input type="hidden" name="cmd" value="_cart">
        <input type="hidden" name="business" value="myPPbusinessid">
        <input type="hidden" name="lc" value="GB">
        <input type="hidden" name="item_name" value="Form Title">
        <input type="hidden" name="button_subtype" value="products">
        <input type="hidden" name="no_note" value="0">
        <input type="hidden" name="no_shipping" value="2">
        <input type="hidden" name="currency_code" value="GBP">
        <input type="hidden" name="add" value="1">
        <input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHosted">
        <div><input type="hidden" name="on0" value="Options"><h5>Options</h5></div>
        <div>
            <select name="os0" id="os0" required>
        		<option value="Chosen Product">Any quantity £10.00 GBP</option>
        	</select>
        </div>
        <input type="hidden" name="on1" value="Colours">
        <div>
        <input type="checkbox" name="cb1" value="Red" id="os10" class="thecbox"/><label for="os10"></label>
        <input type="checkbox" name="cb1" value="Green" id="os11" class="thecbox"/><label for="os11"></label>
        <input type="checkbox" name="cb1" value="Orange" id="os12" class="thecbox"/><label for="os12"></label>
        <input type="checkbox" name="cb1" value="Purple" id="os13" class="thecbox"/><label for="os13"></label>
        <input type="checkbox" name="cb1" value="Yellow" id="os14" class="thecbox"/><label for="os14"></label>
        <input type="checkbox" name="cb1" value="Black" id="os15" class="thecbox"/><label for="os15"></label>
        <input type="checkbox" name="cb1" value="Blue" id="os16" class="thecbox"/><label for="os16"></label>

        <input type="hidden" name="os1" value="EACH, CHECKED, VALUE, HERE">
            
        </div>
        <input type="hidden" name="currency_code" value="GBP">
        <input type="hidden" name="option_select0" value="Options">
        <input type="hidden" name="option_amount0" value="10.00">
        <input type="hidden" name="option_index" value="0">
        <input type="hidden" name="currency_code" value="GBP">
        <input type="submit" border="0" name="submit" id="submit" value="Purchase" class="buynow mb0"></form>
        </div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我似乎完全按照惯例工作了。不过可以帮助感觉JS需要整理!似乎很长一段时间我怀疑它应该是一小段代码...就像我说的那样:我的JS很难不存在!

&#13;
&#13;
<script type="text/javascript">
	function checkTotal() {

        document.ppform.os1.value = '';

        if (document.getElementById('os10').checked){
            var cb1str = document.ppform.cb1.value;
        } else {
            var cb1str = '';
        }
        if (document.getElementById('os11').checked){
            var cb2str = document.ppform.cb2.value;
        } else {
            var cb2str = '';
        }
        if (document.getElementById('os12').checked){
            var cb3str = document.ppform.cb3.value;
        } else {
            var cb3str = '';
        }
        if (document.getElementById('os13').checked){
            var cb4str = document.ppform.cb4.value;
        } else {
            var cb4str = '';
        }
        if (document.getElementById('os14').checked){
            var cb5str = document.ppform.cb5.value;
        } else {
            var cb5str = '';
        }
        if (document.getElementById('os15').checked){
            var cb6str = document.ppform.cb6.value;
        } else {
            var cb6str = '';
        }
        if (document.getElementById('os16').checked){
            var cb7str = document.ppform.cb7.value;
        } else {
            var cb7str = '';
        }
		var sum = cb1str.concat(cb2str).concat(cb3str).concat(cb4str).concat(cb5str).concat(cb6str).concat(cb7str);
		document.ppform.os1.value = sum;
	}
</script>
&#13;
<div id="buyform">
            <form target="paypal" id="ppform" name="ppform" action="https://www.paypal.com/cgi-bin/webscr" method="post" >
            <input type="hidden" name="cmd" value="_cart">
            <input type="hidden" name="business" value="myPPbusinessid">
            <input type="hidden" name="lc" value="GB">
            <input type="hidden" name="item_name" value="Form Title">
            <input type="hidden" name="button_subtype" value="products">
            <input type="hidden" name="no_note" value="0">
            <input type="hidden" name="no_shipping" value="2">
            <input type="hidden" name="currency_code" value="GBP">
            <input type="hidden" name="add" value="1">
            <input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHosted">
            <div><input type="hidden" name="on0" value="Options"><h5>Options</h5></div>
            <div>
                <select name="os0" id="os0" required>
            		<option value="Chosen Product">Any quantity £10.00 GBP</option>
            	</select>
            </div>
            <input type="hidden" name="on1" value="Colours">
            <div>
            <input type="checkbox" name="cb1" value="Red " id="os10" onchange="checkTotal()" /><label for="os10"></label>
            <input type="checkbox" name="cb2" value="Green " id="os11" onchange="checkTotal()" /><label for="os11"></label>
            <input type="checkbox" name="cb3" value="Orange " id="os12" onchange="checkTotal()" /><label for="os12"></label>
            <input type="checkbox" name="cb4" value="Purple " id="os13" onchange="checkTotal()" /><label for="os13"></label>
            <input type="checkbox" name="cb5" value="Yellow " id="os14" onchange="checkTotal()" /><label for="os14"></label>
            <input type="checkbox" name="cb6" value="Black " id="os15" onchange="checkTotal()" /><label for="os15"></label>
            <input type="checkbox" name="cb7" value="Blue " id="os16" onchange="checkTotal()" /><label for="os16"></label>

            <input type="hidden" name="os1" value="">
                
            </div>
            <input type="hidden" name="currency_code" value="GBP">
            <input type="hidden" name="option_select0" value="Options">
            <input type="hidden" name="option_amount0" value="10.00">
            <input type="hidden" name="option_index" value="0">
            <input type="hidden" name="currency_code" value="GBP">
            <input type="submit" border="0" name="submit" id="submit" value="Purchase" class="buynow mb0"></form>
            </div>
&#13;
&#13;
&#13;