使用javascript

时间:2016-12-07 22:48:11

标签: javascript forms toggle display

我有付款表单,当有人选择'paypal'选项时,我希望它有信用卡详细信息。我从现有的一些代码中获取了一些代码,并尝试根据我编辑的形式调整它 - 但我似乎无法让它工作......

如果有人能够指出我出错的地方,那将会非常感激! (我对脚本仍然很陌生)

我需要帮助的脚本位于表单的底部。

我需要做什么:

当您单击“paypal”复选框时,我希望所有具有“hideCC”类的行都可以打开和关闭。

<div class="checkoutForm-bg">
<div class="checkoutForm-wrapper">
<div class="shop-checkout shop-form">
<h1>Check Out</h1>
<script type="text/javascript" src="/CatalystScripts/ValidationFunctions.js?vs=b2206.r502081-phase1"></script>
<form name="catwebformform2140" method="post" onsubmit="return checkWholeForm2140(this)" enctype="multipart/form-data" action="https://sklzaustralia.worldsecuresystems.com/FormProcessv2.aspx?WebFormID=10850&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}&amp;CC={module_urlcountrycode}&amp;Referrer={module_siteurl,true,true}">
    <span class="req">*</span>  Required
    <table class="webform" cellspacing="0" cellpadding="2" border="0">
        <tbody>
            <tr>
                <td><label for="Title">Title</label><br />
                <select name="Title" id="Title" class="cat_dropdown_smaller">
                <option value="1328222">DR</option>
                <option value="1328221">MISS</option>
                <option value="1328218" selected="selected">MR</option>
                <option value="1328219">MRS</option>
                <option value="1328220">MS</option>
                </select></td>
            </tr>
            <tr>
                <td><label for="FirstName">First Name <span class="req">*</span></label><br />
                <input name="FirstName" id="FirstName" class="cat_textbox" maxlength="255" type="text" /> </td>
            </tr>
            <tr>
                <td><label for="LastName">Last Name <span class="req">*</span></label><br />
                <input name="LastName" id="LastName" class="cat_textbox" maxlength="255" type="text" /> </td>
            </tr>
            <tr>
                <td><label for="EmailAddress">Email Address <span class="req">*</span></label><br />
                <input name="EmailAddress" id="EmailAddress" class="cat_textbox" maxlength="255" type="text" /> </td>
            </tr>
            <tr>
                <td><label for="CAT_Custom_20097767">Phone number <span class="req">*</span></label><br />
                <input maxlength="255" name="CAT_Custom_20097767" id="CAT_Custom_20097767" class="cat_textbox" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingAddress">Shipping Address <span class="req">*</span></label><br />
                <input name="ShippingAddress" id="ShippingAddress" class="cat_textbox" maxlength="500" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingCity">City <span class="req">*</span></label><br />
                <input name="ShippingCity" id="ShippingCity" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingState">State <span class="req">*</span></label><br />
                <input name="ShippingState" id="ShippingState" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingZip">Zipcode/Postcode <span class="req">*</span></label><br />
                <input name="ShippingZip" id="ShippingZip" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingCountry">Country <span class="req">*</span></label><br />
                <select name="ShippingCountry" id="ShippingCountry" class="cat_dropdown">
                <option value=" ">-- Select Country --</option>
                <option value="AU" selected="selected">AUSTRALIA</option>
                </select></td>
            </tr>
            <tr>
                <td><label for="Company">Company</label><br />
                <input name="Company" id="Company" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingInstructions">Shipping Instructions</label><br />
                <textarea name="ShippingInstructions" id="ShippingInstructions" cols="10" rows="4" class="cat_listbox"></textarea></td>
            </tr>
            <tr>
                <td><label for="BillingAddress">Billing Address <span class="req">*</span></label><br />
                <input name="BillingAddress" id="BillingAddress" class="cat_textbox" maxlength="500" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingCity">City <span class="req">*</span></label><br />
                <input name="BillingCity" id="BillingCity" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingState">State <span class="req">*</span></label><br />
                <input name="BillingState" id="BillingState" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingZip">Zipcode/Postcode <span class="req">*</span></label><br />
                <input name="BillingZip" id="BillingZip" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingCountry">Country <span class="req">*</span></label><br />
                <select name="BillingCountry" id="BillingCountry" class="cat_dropdown">
                <option value=" ">-- Select Country --</option>
                <option value="AU" selected="selected">AUSTRALIA</option>
                </select></td>
            </tr>
            <tr>
                <td><label>Payment Method <span class="req">*</span></label><br />
                <input checked="checked" name="PaymentMethodType" id="PaymentMethodType_1" value="1" type="radio" />Credit Card<br />
                <input name="PaymentMethodType" id="PaymentMethodType_5" value="5" type="radio" />PayPal<br />
                <input name="PaymentMethodType" id="PaymentMethodType_9" value="9" type="radio" />Gift Voucher</td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardName">Name on Card <span class="req">*</span></label><br />
                <input name="CardName" id="CardName" class="cat_textbox" autocomplete="off" type="text" /></td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardNumber">Card Number <span class="req">*</span></label><br />
                <input name="CardNumber" id="CardNumber" class="cat_textbox" autocomplete="off" type="text" /></td>
            </tr>
            <tr class="hideCC">
                <td><label>Card Expiry <span class="req">*</span></label><br />
                <select name="CardExpiryMonth" id="CardExpiryMonth" class="cat_dropdown_smaller">
                <option value="01">01</option>
                <option value="02">02</option>
                <option value="03">03</option>
                <option value="04">04</option>
                <option value="05">05</option>
                <option value="06">06</option>
                <option value="07">07</option>
                <option value="08">08</option>
                <option value="09">09</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
                </select><select name="CardExpiryYear" id="CardExpiryYear" class="cat_dropdown_smaller">
                <option value="2015">2015</option>
                <option value="2016">2016</option>
                <option value="2017">2017</option>
                <option value="2018">2018</option>
                <option value="2019">2019</option>
                <option value="2020">2020</option>
                <option value="2021">2021</option>
                <option value="2022">2022</option>
                <option value="2023">2023</option>
                </select></td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardType">Card Type <span class="req">*</span></label><br />
                <select name="CardType" id="CardType" class="cat_dropdown">
                <option value="1">Visa</option>
                <option value="2">Mastercard</option>
                <option value="4">American Express</option>
                </select></td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardCCV">CCV Number <span class="req">*</span></label><br />
                <input name="CardCCV" id="CardCCV" class="cat_textbox" autocomplete="off" type="text" /></td>
            </tr>
            <tr>
                <td><label for="Amount">Amount <span class="req">*</span> <span id="constraint-300-label"></span></label><br />
                <input name="Amount" id="Amount" class="cat_textbox" type="text" /></td>
            </tr>
            <tr>
                <td><input class="cat_button" value="Submit" id="catwebformbutton" type="submit" /></td>
            </tr>
        </tbody>
    </table>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script type="text/javascript">
//<![CDATA[
var submitcount2140 = 0;function checkWholeForm2140(theForm){var why = "";if (theForm.FirstName) why += isEmpty(theForm.FirstName.value, "First Name"); if (theForm.LastName) why += isEmpty(theForm.LastName.value, "Last Name"); if (theForm.EmailAddress) why += checkEmail(theForm.EmailAddress.value); if (theForm.ShippingAddress) why += isEmpty(theForm.ShippingAddress.value, "Shipping Address"); if (theForm.ShippingCity) why += isEmpty(theForm.ShippingCity.value, "Shipping City"); if (theForm.ShippingState) why += isEmpty(theForm.ShippingState.value, "Shipping State"); if (theForm.ShippingZip) why += isEmpty(theForm.ShippingZip.value, "Shipping Zipcode"); if (theForm.ShippingCountry) why += checkDropdown(theForm.ShippingCountry.value, "Shipping Country"); if (theForm.BillingAddress) why += isEmpty(theForm.BillingAddress.value, "Billing Address"); if (theForm.BillingCity) why += isEmpty(theForm.BillingCity.value, "Billing City"); if (theForm.BillingState) why += isEmpty(theForm.BillingState.value, "Billing State"); if (theForm.BillingZip) why += isEmpty(theForm.BillingZip.value, ""); if (theForm.BillingCountry) why += checkDropdown(theForm.BillingCountry.value, "Billing Country"); if (theForm.PaymentMethodType) why += checkSelected(theForm.PaymentMethodType, "Payment Method");if (!theForm.PaymentMethodType || getRadioSelected(theForm.PaymentMethodType) == 1) { if (theForm.CardName) why += isEmpty(theForm.CardName.value, "Name on Card"); if (theForm.CardNumber) why += isNumeric(theForm.CardNumber.value, "Card Number"); if (theForm.Amount) why += isCurrency(theForm.Amount.value, "Amount"); } if (theForm.CAT_Custom_20097767) why += isCurrency(theForm.CAT_Custom_20097767.value, "Phone number");if(why != ""){alert(why);return false;}if(submitcount2140 == 0){submitcount2140++;theForm.submit();return false;}else{alert("Form submission is in progress.");return false;}}
		// Credit Card info is not required if paying by PayPal, Hosted Credit Card, COD etc
			function ShowCCFields(val) {							
				if (!document.getElementsByClassName("hideCC"))
					return;  		
				if (val != 1)
					document.getElementsByClassName("hideCC").style.display = "none";				
				else
					document.getElementsByClassName("hideCC").style.display = "inline";
		  }
//]]>
</script>
</form>
</div>
</div>
</div>

1 个答案:

答案 0 :(得分:1)

既然你要包含jQuery,为什么不试试这个:

$(document).ready(function() {

                $('[name="PaymentMethodType"]').change(function () {                        
                    if ($(this).val() == 1) {
                        $('.hideCC').show();
                    } else {
                        $('.hideCC').hide();
                    }

                });
            });

&#13;
&#13;
<div class="checkoutForm-bg">
<div class="checkoutForm-wrapper">
<div class="shop-checkout shop-form">
<h1>Check Out</h1>
<script type="text/javascript" src="/CatalystScripts/ValidationFunctions.js?vs=b2206.r502081-phase1"></script>
<form name="catwebformform2140" method="post" onsubmit="return checkWholeForm2140(this)" enctype="multipart/form-data" action="https://sklzaustralia.worldsecuresystems.com/FormProcessv2.aspx?WebFormID=10850&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}&amp;CC={module_urlcountrycode}&amp;Referrer={module_siteurl,true,true}">
    <span class="req">*</span>  Required
    <table class="webform" cellspacing="0" cellpadding="2" border="0">
        <tbody>
            <tr>
                <td><label for="Title">Title</label><br />
                <select name="Title" id="Title" class="cat_dropdown_smaller">
                <option value="1328222">DR</option>
                <option value="1328221">MISS</option>
                <option value="1328218" selected="selected">MR</option>
                <option value="1328219">MRS</option>
                <option value="1328220">MS</option>
                </select></td>
            </tr>
            <tr>
                <td><label for="FirstName">First Name <span class="req">*</span></label><br />
                <input name="FirstName" id="FirstName" class="cat_textbox" maxlength="255" type="text" /> </td>
            </tr>
            <tr>
                <td><label for="LastName">Last Name <span class="req">*</span></label><br />
                <input name="LastName" id="LastName" class="cat_textbox" maxlength="255" type="text" /> </td>
            </tr>
            <tr>
                <td><label for="EmailAddress">Email Address <span class="req">*</span></label><br />
                <input name="EmailAddress" id="EmailAddress" class="cat_textbox" maxlength="255" type="text" /> </td>
            </tr>
            <tr>
                <td><label for="CAT_Custom_20097767">Phone number <span class="req">*</span></label><br />
                <input maxlength="255" name="CAT_Custom_20097767" id="CAT_Custom_20097767" class="cat_textbox" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingAddress">Shipping Address <span class="req">*</span></label><br />
                <input name="ShippingAddress" id="ShippingAddress" class="cat_textbox" maxlength="500" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingCity">City <span class="req">*</span></label><br />
                <input name="ShippingCity" id="ShippingCity" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingState">State <span class="req">*</span></label><br />
                <input name="ShippingState" id="ShippingState" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingZip">Zipcode/Postcode <span class="req">*</span></label><br />
                <input name="ShippingZip" id="ShippingZip" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingCountry">Country <span class="req">*</span></label><br />
                <select name="ShippingCountry" id="ShippingCountry" class="cat_dropdown">
                <option value=" ">-- Select Country --</option>
                <option value="AU" selected="selected">AUSTRALIA</option>
                </select></td>
            </tr>
            <tr>
                <td><label for="Company">Company</label><br />
                <input name="Company" id="Company" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="ShippingInstructions">Shipping Instructions</label><br />
                <textarea name="ShippingInstructions" id="ShippingInstructions" cols="10" rows="4" class="cat_listbox"></textarea></td>
            </tr>
            <tr>
                <td><label for="BillingAddress">Billing Address <span class="req">*</span></label><br />
                <input name="BillingAddress" id="BillingAddress" class="cat_textbox" maxlength="500" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingCity">City <span class="req">*</span></label><br />
                <input name="BillingCity" id="BillingCity" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingState">State <span class="req">*</span></label><br />
                <input name="BillingState" id="BillingState" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingZip">Zipcode/Postcode <span class="req">*</span></label><br />
                <input name="BillingZip" id="BillingZip" class="cat_textbox" maxlength="255" type="text" /></td>
            </tr>
            <tr>
                <td><label for="BillingCountry">Country <span class="req">*</span></label><br />
                <select name="BillingCountry" id="BillingCountry" class="cat_dropdown">
                <option value=" ">-- Select Country --</option>
                <option value="AU" selected="selected">AUSTRALIA</option>
                </select></td>
            </tr>
            <tr>
                <td><label>Payment Method <span class="req">*</span></label><br />
                <input checked="checked" name="PaymentMethodType" id="PaymentMethodType_1" value="1" type="radio" />Credit Card<br />
                <input name="PaymentMethodType" id="PaymentMethodType_5" value="5" type="radio" />PayPal<br />
                <input name="PaymentMethodType" id="PaymentMethodType_9" value="9" type="radio" />Gift Voucher</td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardName">Name on Card <span class="req">*</span></label><br />
                <input name="CardName" id="CardName" class="cat_textbox" autocomplete="off" type="text" /></td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardNumber">Card Number <span class="req">*</span></label><br />
                <input name="CardNumber" id="CardNumber" class="cat_textbox" autocomplete="off" type="text" /></td>
            </tr>
            <tr class="hideCC">
                <td><label>Card Expiry <span class="req">*</span></label><br />
                <select name="CardExpiryMonth" id="CardExpiryMonth" class="cat_dropdown_smaller">
                <option value="01">01</option>
                <option value="02">02</option>
                <option value="03">03</option>
                <option value="04">04</option>
                <option value="05">05</option>
                <option value="06">06</option>
                <option value="07">07</option>
                <option value="08">08</option>
                <option value="09">09</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
                </select><select name="CardExpiryYear" id="CardExpiryYear" class="cat_dropdown_smaller">
                <option value="2015">2015</option>
                <option value="2016">2016</option>
                <option value="2017">2017</option>
                <option value="2018">2018</option>
                <option value="2019">2019</option>
                <option value="2020">2020</option>
                <option value="2021">2021</option>
                <option value="2022">2022</option>
                <option value="2023">2023</option>
                </select></td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardType">Card Type <span class="req">*</span></label><br />
                <select name="CardType" id="CardType" class="cat_dropdown">
                <option value="1">Visa</option>
                <option value="2">Mastercard</option>
                <option value="4">American Express</option>
                </select></td>
            </tr>
            <tr class="hideCC">
                <td><label for="CardCCV">CCV Number <span class="req">*</span></label><br />
                <input name="CardCCV" id="CardCCV" class="cat_textbox" autocomplete="off" type="text" /></td>
            </tr>
            <tr>
                <td><label for="Amount">Amount <span class="req">*</span> <span id="constraint-300-label"></span></label><br />
                <input name="Amount" id="Amount" class="cat_textbox" type="text" /></td>
            </tr>
            <tr>
                <td><input class="cat_button" value="Submit" id="catwebformbutton" type="submit" /></td>
            </tr>
        </tbody>
    </table>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
	<script type="text/javascript">
//<![CDATA[
var submitcount2140 = 0;function checkWholeForm2140(theForm){var why = "";if (theForm.FirstName) why += isEmpty(theForm.FirstName.value, "First Name"); if (theForm.LastName) why += isEmpty(theForm.LastName.value, "Last Name"); if (theForm.EmailAddress) why += checkEmail(theForm.EmailAddress.value); if (theForm.ShippingAddress) why += isEmpty(theForm.ShippingAddress.value, "Shipping Address"); if (theForm.ShippingCity) why += isEmpty(theForm.ShippingCity.value, "Shipping City"); if (theForm.ShippingState) why += isEmpty(theForm.ShippingState.value, "Shipping State"); if (theForm.ShippingZip) why += isEmpty(theForm.ShippingZip.value, "Shipping Zipcode"); if (theForm.ShippingCountry) why += checkDropdown(theForm.ShippingCountry.value, "Shipping Country"); if (theForm.BillingAddress) why += isEmpty(theForm.BillingAddress.value, "Billing Address"); if (theForm.BillingCity) why += isEmpty(theForm.BillingCity.value, "Billing City"); if (theForm.BillingState) why += isEmpty(theForm.BillingState.value, "Billing State"); if (theForm.BillingZip) why += isEmpty(theForm.BillingZip.value, ""); if (theForm.BillingCountry) why += checkDropdown(theForm.BillingCountry.value, "Billing Country"); if (theForm.PaymentMethodType) why += checkSelected(theForm.PaymentMethodType, "Payment Method");if (!theForm.PaymentMethodType || getRadioSelected(theForm.PaymentMethodType) == 1) { if (theForm.CardName) why += isEmpty(theForm.CardName.value, "Name on Card"); if (theForm.CardNumber) why += isNumeric(theForm.CardNumber.value, "Card Number"); if (theForm.Amount) why += isCurrency(theForm.Amount.value, "Amount"); } if (theForm.CAT_Custom_20097767) why += isCurrency(theForm.CAT_Custom_20097767.value, "Phone number");if(why != ""){alert(why);return false;}if(submitcount2140 == 0){submitcount2140++;theForm.submit();return false;}else{alert("Form submission is in progress.");return false;}}
	// Credit Card info is not required if paying by PayPal, Hosted Credit Card, COD etc
		$(document).ready(function() {
			
				$('[name="PaymentMethodType"]').change(function () {						
					if ($(this).val() == 1) {
						$('.hideCC').show();
					} else {
						$('.hideCC').hide();
					}
					
				});
			});	
			
//]]>
</script>
</form>
</div>
</div>
</div>
&#13;
&#13;
&#13;