您的位置:首页 > 其它

项目开发中遇到的--Bug知识整理!

2013-05-03 17:04 357 查看
====第一个Bug====》》 目前测试出现在IE7,IE6中。

问题:<button></button>标签,经测试,不兼容IE7,IE6. (个人建议不要使用button标签)

解决方案:改成<input type="button" value="提交">

//ajax表单提交操作
$("form").submit(function () {
if ($("#ddlArea").val() === "0" && $("#ddlProvince").val() === "0" && $("#ddlCity").val() === "0" && $("#trainingName").val().length === 0) {
alert("请输入考点名称");
return false;
}
var formdata = $(this).serialize();
$.ajax2({
url: location.href,
type: 'GET',
data: formdata,
success: function (html) {
$("#trainingList").html(html);
}, error: function () {
$("#trainingList").html("出错了");
}
}, "#trainingList");
return false;  //此操作是为了,阻止表单提交
});


====第二个Bug====》》Jquery中的 :Visible, 如果没有给值,Visible 是不起效果的,至少是我发现的

注意html代码中的一句: <span class="cn_red" empty="请输入学习卡卡号!" style="display: none"> </span>

Html代码如下

<form action="/card/Binding" id="frmActivate" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="cn_conxx_table">
<tr>
<td width="25%">
<span class="cn_conxx_16px yahei">请输入学习卡卡号:</span>
</td>
<td width="40%">
<input name="cardnum" type="text" class="cn_conxx_input" /><span id="tipSpan"></span>
</td>
<td width="34%">
 <!---------  注意这里设置了一个  ------------>
<span class="cn_red" empty="请输入学习卡卡号!" style="display: none"> </span>
</td>
</tr>
<tr>
<td>
<span class="cn_conxx_16px yahei">请输入学习卡密码:</span>
</td>
<td>
<input name="cardpwd" type="password" class="cn_conxx_input" /><span id="tipSpan"></span>
</td>
<td>
 <!----------注意这里设置了一个  ----------->
<span class="cn_red" empty="请输入学习卡密码!" style="display: none"> </span>
</td>
</tr>
<tr>
<td>
</td>
<td valign="bottom">
<div class="cn_closebtn yahei">
<a href="javascript:;" id="btnSubmit">确 定</a><a href="#" class="a1">取 消</a>
</div>
</td>
<td>
</td>
</tr>
</table>
</form>


Js代码如下

$(function () {
$(':text,:password').bind('blur', function () {
var tips = $(this).closest('tr').find('.cn_red');
if ($.trim($(this).val()).length === 0) {
$(this).siblings().show().messagebox($(tips).attr("empty"), "", 1500, 1, { style_tipsyinner: "padding:5px;width:150px;background:#336699",
isFade: false });
$(tips).show();
} else {
$(this).siblings().hide();
$(tips).hide();
}
});
$("#btnSubmit").click(function () {
if ($("#frmActivate").attr('submitFlag') === '1') {
return true;
}

//**********注意这里**********
$(':text,:password').trigger('blur');
if ($('.cn_red:visible').length > 0) { return false; }
//*******************

var data = $('form').serialize();
$.post('/card/activateform', data, function (json) {
if (json === 1) {
$("#frmActivate").attr('submitFlag', '1').submit();
}
else if (json === 0) {
$("body").messagebox("卡号密码错误!", "", 500, 3, { style_tipsyinner: "padding:20px 28px;background:#ff6600" });
}
else {
$("body").messagebox("参数错误!", "", 500, 3, { style_tipsyinner: "padding:20px 28px;background:#ff6600" });
}
});
return false;
});
});


第三个Bug,正在进行中>>>>>>>>>>>>>>>

jquery操作 checkbox 是不兼容的:

单选:jquery版本 1.5.2 ----1.8.3

<script type="text/javascript" src="jquery.1.8.3.js"></script>
<script type="text/javascript">
$(function(){
$(':checkbox[name=chkbox]').each(function(){
$(this).click(function(){
if($(this).attr('checked')){
$(':checkbox[name=chkbox]').removeAttr('checked');
$(this).attr('checked','checked');
}
});
});
});
</script>


单选:jquery版本 1.9 以上操作

//单选事件checkbox,完美解决
$(":checkbox[name=chkbox]").unbind().bind("click", function () {
if ($(this).attr('checked')) {
$(this).removeAttr('checked');
}
else {
//选中
var _thisIndex = $(this).index();
$(":checkbox[name=chkbox]").each(function (j) {if (_thisIndex != j) {
$(":checkbox[name=chkbox]").eq(j).removeAttr("checked");
}
else {
$(this).attr('checked', 'checked');
}
});
}
});
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: