我自定义我的opencart,在我的结帐时添加一个电话字段。即时通讯使用单页结帐分机,除了验证电话号码外,还可以使用。
问题是当我选择新地址的选项时,它会验证所有其他字段并在字段下方显示相关错误。但是在电话领域,当我通过萤火虫检查时,错误就会被抛出,但不会低于锉刀。
我完成了其他领域的工作
下面是该字段的HTML代码
<tr>
<td><label for="telephone"><span class="required">*</span> Phone Number</label> </td>
<td><input type="text" name="telephone_2" required class="large-field" /><br /></td>
</tr>
JS代码
$('#<?php echo $type; ?>-address input[name=\'address_1\']').live('blur', function() {
valiform<?php echo $type; ?>("address_1","");
});
$('#<?php echo $type; ?>-address input[name=\'address_1\']').live('focus', function() {
errorremove<?php echo $type; ?>("address_1");
});
$('#<?php echo $type; ?>-address input[name=\'telephone_2\']').live('blur', function() {
valiform<?php echo $type; ?>("telephone_2","");
});
$('#<?php echo $type; ?>-address input[name=\'telephone_2\']').live('focus', function() {
errorremove<?php echo $type; ?>("telephone_2");
});
function valiform<?php echo $type; ?>(vname, othername){
$.ajax({
url: 'index.php?route=onecheckout/form/validate',
type: 'post',
data: $('#<?php echo $type; ?>-address input[name=\''+vname+'\']'+othername),
dataType: 'json',
success: function(json) {
if (json['error'][vname]) {
errorremove<?php echo $type; ?>(vname);
$('#<?php echo $type; ?>-address input[name=\''+vname+'\'] + br').after('<span id="error_'+vname+'" class="error">' + json['error'][vname] + '</span>');
}
}
});
}
function errorremove<?php echo $type; ?>(vname) {
if($('#<?php echo $type; ?>-address #error_'+vname)){
$('#<?php echo $type; ?>-address #error_'+vname).remove();
}
}
请查看以下截图
有人可以告诉我,我做错了什么吗?
答案 0 :(得分:1)
我会更改此HTML标记
<td><input type="text" name="telephone_2" required class="large-field" /><br /></td>
到
<td><input type="text" name="telephone_2" required class="large-field" /></td>
(所以删除<br />
标签)然后在JS中更改这一行:
$('#<?php echo $type; ?>-address input[name=\''+vname+'\'] + br').after('<span id="error_'+vname+'" class="error">' + json['error'][vname] + '</span>');
进入这个:
$('#<?php echo $type; ?>-address input[name=\''+vname+'\']').after('<br /><span id="error_'+vname+'" class="error">' + json['error'][vname] + '</span>');