При редактировании кода, который работает на моем рабочем сайте, и тестировании на сайте разработчика, тот же самый код не будет запускаться
Для начала я новичок, который начал работать с моим работодателем на их сайте. Добавление небольших функций и возможностей здесь и там. Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь добавить reCaptcha на одну из наших платежных страниц, и когда я тестирую код, взятый непосредственно с рабочего сайта в среде разработчика, появляются функции, которые больше не работают. Существуют переключатели, которые раскрываются при выборе варианта оплаты для кредита или дебета, чтобы добавить дополнительную информацию о платеже, которая больше не работает, когда на сайте разработчика. Это страница, над которой я работаю: здесь Это все еще до того, как даже добавили капчу. Та часть, с которой у меня не было проблем, соответствует текущей функциональности. Мне нужно, чтобы он работал на сайте разработчиков, прежде чем вносить изменения в производство. В настоящее время моя компания использует сервер приложений Interchange. Вот часть кода:
$(document).ready(function(){
//payment type check
var payType = $('input[name=paymentType]:checked', '#paymentForm').val();
if( payType == null )
{
alert('You have not selected a Payment Type')
return false;
}
//credit card check
if( payType == 'credit' ){
if(IsEmpty(form.cc_type))
{
alert('You have not entered a Credit Card Type')
form.cc_type.focus();
return false;
}
if(IsEmpty(form.ccnum))
{
alert('You have not entered a Credit Card Number')
form.ccnum.focus();
return false;
}
if(IsEmpty(form.ccmo))
{
alert('You have not entered a Credit Card Expiration Month')
form.ccmo.focus();
return false;
}
if(IsEmpty(form.ccyr))
{
alert('You have not entered a Credit Card Expiration Year')
form.ccyr.focus();
return false;
}
if(IsEmpty(form.cvv2_number))
{
// alert('You have not entered the Credit Card CVV2')
// form.cvv2_number.focus();
// return false;
}
}
//checking account check
if( payType == 'check' ){
var chkType = $('input[name=checkingType]:checked', '#paymentForm').val();
if( chkType == null )
{
alert('You have not selected a Checking Type')
return false;
}
if( !form.aba.value.match(/^\d{9}$/) )
{
alert('Checking Routing Number must be 9 digits')
form.aba.focus();
return false;
}
else{
var n=form.aba.value.split('');
var chkSum = ( 3 * (parseInt(n[0]) + parseInt(n[3]) + parseInt(n[6])) +
7 * (parseInt(n[1]) + parseInt(n[4]) + parseInt(n[7])) +
(parseInt(n[2]) + parseInt(n[5]) + parseInt(n[8]))) % 10;
if( chkSum != 0 ){
alert('Checking Routing Number is invalid')
form.aba.focus();
return false;
}
}
if(IsEmpty(form.account))
{
alert('You have not entered a Checking Account Number')
form.account.focus();
return false;
}
}
});
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
var submitted = false;
$(document).ready(function(){
try {
$('#item_1_cost').priceFormat({
prefix: '',
thousandsSeparator: ''
});
} catch (e) { console.log(e); }
$('#item_1_cost').val('[scratch form-item_1_cost]');
$('.trimMe').focusout(function(){
$(this).val( $.trim($(this).val()) );
});
var updateBilling = function () {
if (!$("#sameAsShipping").is(":checked")) { return }
$("#address").val( $("#saddr").val() );
$("#city").val( $("#scity").val() );
$("#state").val( $("#sstate").val() );
$("#zip").val( $("#szip").val() );
}
$('.paymentTypeRadio').change(function(){
$('#paymentCredit').hide();
$('#paymentCheck').hide();
var payType = $('input[name=paymentType]:checked', '#paymentForm').val();
if(payType == "credit") {
$('#pass_action').val('iTransact');
document.paymentForm.action = "https://secure.paymentclearing.com/cgi-bin/rc/ord.cgi";
$('#paymentCredit').show();
$('#aba').val('');
$('#account').val('');
$('#account_source').val('');
} else if( payType == "check" ){
$('#pass_action').val('@@MV_PAGE@@');
document.paymentForm.action = "https://__SERVER_NAME__/@@MV_PAGE@@.html";
$('#paymentCheck').show();
$('#ccnum').val('');
$('#ccmo').val('');
$('#ccyr').val('');
$('#cvv2_number').val('');
}
});
$('.patientGroup').keyup(function(){ updateBilling() });
$('.patientGroup').change(function(){ updateBilling() });
$("#sstate").val("[scratch form-sstate]");
$("#state").val("[scratch form-state]");
// Add onclick handler to checkbox w/id checkme
$("#sameAsShipping").click(function(){
// If checked
if ($("#sameAsShipping").is(":checked")) {
$(".billingGroup").attr("readonly", true);
$("#first_name").val( $("#sfname").val() );
$("#last_name").val( $("#slname").val() );
updateBilling();
} else {
$(".billingGroup").val('');
$("#first_name").val('');
$("#last_name").val('');
$(".billingGroup").removeAttr("readonly");
}
});
}); // document ready
var pop_window;
function popWin(pop_url) {
pop_window = open(pop_url, 'package_info',',width=500,height=450,scrollbars=yes,resizable=yes');
}
function IsEmpty(aTextField) {
if ((aTextField.value.length==0) || (aTextField.value==null)) return true;
return false; // no need for else as if the statment is true this line will not run anyway
}
function ValidateForm(form) {
if( submitted == true ) {
alert("You have already submitted. Please wait while the page processes. Thank you.");
return false;
}
}
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<div class="mybinsonsform" style="width: 680px;">
<input type="text" name="ccnum" id="ccnum" class="trimMe" VALUE="" size="30" maxlength="20">
</div>
<div class="mybinsonsform" style="width: 680px;">
<select name="ccmo" id="ccmo">
<option value="">Month</option>
<option value="January">01 January</option>
<option value="February">02 February</option>
<option value="March">03 March</option>
<option value="April">04 April</option>
<option value="May">05 May</option>
<option value="June">06 June</option>
<option value="July">07 July</option>
<option value="August">08 August</option>
<option value="September">09 September</option>
<option value="October">10 October</option>
<option value="November">11 November</option>
<option value="December">12 December</option>
</select>
<select name="ccyr" id="ccyr" style="width:70px;">
<option value="">Year</option>
</select>
</div>
<div class="mybinsonsform" style="width: 680px;">
<input type="text" name="cvv2_number" id="cvv2_number" class="trimMe" value="" size="5" maxlength="5">
<a href="[area href=special/cvv_pop]" target="package_info" onclick="popWin('[area href=special/cvv_pop]'); return false;">
<small>Where is it?</small>
</a>
</div>
<!-- Checking information -->
<div id="paymentCheck" style="display:none;">
<div class="mybinsonsform" style="width: 680px;">
<input type="radio" class="checkingTypeRadio" name="checkingType" value="acctChecking"> Checking Account
<input type="radio" class="checkingTypeRadio" name="checkingType" value="acctSavings"> Savings Account
</div>
<div class="mybinsonsform" style="width: 680px;">
<input type="text" name="aba" id="aba" class="trimMe" VALUE="" size="10">
</div>
<div class="mybinsonsform" style="width: 680px;">
<input type="text" name="account" id="account" class="trimMe" VALUE="" size="10">
</div>
</div>
Если есть больше информации, которую я могу предоставить, пожалуйста, дайте мне знать. Я ценю любую помощь! Заранее спасибо! -Тим
1 ответ
Вы уверены, что JQuery загружается? Код, отвечающий за отображение / скрытие полей типа платежа, выглядит так:
$('.paymentTypeRadio').change(function() {
$('#paymentCredit').hide();
$('#paymentCheck').hide();
var payType = $('input[name=paymentType]:checked', '#paymentForm').val();
if (payType == "credit") {
$('#pass_action').val('iTransact');
document.paymentForm.action = "https://secure.paymentclearing.com/cgi-bin/rc/ord.cgi";
$('#paymentCredit').show();
$('#aba').val('');
$('#account').val('');
$('#account_source').val('');
} else if (payType == "check") {
$('#pass_action').val('payment');
document.paymentForm.action = "https://www.binsons.com/payment.html";
$('#paymentCheck').show();
$('#ccnum').val('');
$('#ccmo').val('');
$('#ccyr').val('');
$('#cvv2_number').val('');
}
});
Он использует JQuery, поэтому, возможно, он не загружается локально. Ищите 404 ошибки в вашей консоли или ошибки в соответствии с $ is not a function
,