Я использую magento 1.8. Я новичок в magento, поэтому на странице оформления заказа при вводе адреса электронной почты отображается всплывающее окно с «введите действительный адрес электронной почты».
Опять же, когда я ввожу адрес электронной почты и пароль в уже зарегистрированном столбце, это работает.
В чем проблема, и где мне найти файл проверки электронной почты в magento?
А как проверить идентификатор электронной почты?
Я использую этот код
<?php if(!$this->isCustomerLoggedIn()): ?>
<div class="field">
<label for="billing:email" class="required"><em>*</em><?php echo $this- >__('Email Address') ?></label>
<div class="input-box">
<input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="string input-block-level input-text validate-email required-entry billing-email" />
</div>
</div>
<?php endif; ?>
проверка адреса электронной почты:
"validate-emails": [
function(value) {
if ($.mage.isEmpty(value)) {
return true;
}
var valid_regexp = /^[a-z0-9\._-]{1,30}@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i,
emails = value.split(/[\s\n\,]+/g);
for (var i = 0; i < emails.length; i++) {
if (!valid_regexp.test(emails[i].strip())) {
return false;
}
}
Вы обвиняете неправильный кусок кода для проверки электронной почты: всплывающее предупреждение от кода:
<script>
jQuery(document).ready(function(){
jQuery("#onepage-guest-register-button" ).click(function(){
var mailid=jQuery('#guest-email').attr('value');
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if( !emailReg.test(mailid) ){
alert("please Enter valid Email Address")
return false;
}else if (jQuery('#guest-email').attr('value')==''){
alert("please enter valid Email Address ");
return false;
}else{
var mailid=jQuery('#guest-email').attr('value');
jQuery('.bill-mail').val(mailid);
checkout.setMethod();
}
})
})
</script>
Пока ваш сгенерированный вход:
<input type="text" class="input-text required-entry validate-email" id="guest-email" name="guest[username]" value="">
Я отладил, и кажется, что проблема с оператором else-if:
else if(jQuery('#guest-email').attr('value')=='')
Попробуйте с:
else if(jQuery('#guest-email').val()=='')
Других решений пока нет …