读书人

救急关于javascript有关问题

发布时间: 2012-02-07 17:45:36 作者: rapoo

救急!!!!关于javascript问题
点击查询按钮文本框的值等于“输入开始时间……”,“输入结束时间……”
点击查询不提示:“请选择统计开始时间”,“请选择统计结束时间”
请教大侠们哪里有问题代码!!!

JScript code
<script language="javascript">    /*清空文本框*/       function cleartext()       {          $("#div1 input[type=text]").val("");       }    /*文本框提示字符*/      $(document).ready(function() {      //遍历div中的文本      $('#div1 input[title]').each(function() {          //如果文本为空          if($(this).val() == '') {              //赋值title              $(this).val($(this).attr('title'));              }          //获取焦点信息          $(this).focus(function() {          //如果文本值等于title            if($(this).val() == $(this).attr('title'))             {                $(this).val('').addClass('focused');                }        });        //失去焦点          $(this).blur(function() {                //如果文本值等于空                if($(this).val() == '')                 {                   $(this).val($(this).attr('title')).removeClass('focused');                    }            });         });       //查询按钮       $('#btnSearch').click(function(){            var starttime=$('#txtBeginDate').val();            var endtime=$('#txtEndDate').val();            /*分解开始时间*/               var startMonth =eval( starttime.substring(5,starttime.lastIndexOf("-")));               var startDay =eval( starttime.substring(starttime.length,starttime.lastIndexOf("-")+1));               var startYear =eval( starttime.substring(0,starttime.indexOf("-")));                  /*分解结束时间*/               var endMonth =eval( endtime.substring(5,endtime.lastIndexOf("-")));               var endDay =eval( endtime.substring(endtime.length,endtime.lastIndexOf("-")+1));               var endYear =eval( endtime.substring(0,endtime.indexOf("-")));             if(starttime=="输入开始时间……")               {                  alert("请选择统计开始时间!");                  return false;               }            if(endtime=="输入结束时间……")               {                 alert("请选择统计结束时间!");                 return false;               }            if(Date.parse(startMonth+"/"+startDay+"/"+startYear)>Date.parse(endMonth+"/"+endDay+"/"+endYear))                 {                   alert("开始时间大于结束时间");                   return false;               }                       });        });    </script>


HTML code
    <form id="form1" runat="server">        <div class="navbar" id="div1">            <table class="tablein">                <tr>                    <td class="rhead">                        指示时间:</td>                    <td>                        <input type="text" id="txtBeginDate" title="输入开始时间……" value="" runat="server" class="textbox"                            onclick="ShowCalendar(this)" />                        <input type="text" id="txtEndDate" title="输入结束时间……" value="" runat="server" class="textbox"                            onclick="ShowCalendar(this)" />                    </td>                                        <td>                        <asp:LinkButton runat="server" ID="btnSearch" Text=" 查 询 " CssClass="button"></asp:LinkButton><div                            class="splith">                        </div>                    </td>                    <td>                        <asp:LinkButton runat="server" ID="btnClear" Text=" 重 置 " CssClass="button" OnClientClick="return cleartext()"></asp:LinkButton>                        <div class="splith">                        </div>                    </td>                </tr>            </table>        </div>    </form> 




[解决办法]
当你文本框为空时间是不能分解的,只有字符串。你分解时间时必须先判断一下是否文本框里有值,并且值应该是日期格式才行。
[解决办法]
把判断放在分解时间的前面
if(starttime=="输入开始时间……")
{
alert("请选择统计开始时间!");
return false;
}
if(endtime=="输入结束时间……")
{
alert("请选择统计结束时间!");
return false;
}
[解决办法]
//查询按钮
$('#btnSearch').click(function(){
此处的$('#btnSearch')是错误的,应该是 $("#<%=btnSearch.ClientID %>")
[解决办法]
你 怎么 写的呀

jquery 语法 都 整错球 了
$('#div1 input[title]').
这个 不对
$('#div1 input[title^=null]')



很多 可以 简写 你 怎么 那样写呀
效率都让 你浪费了 jquery 选择 器 很强大 的

看 了 你 的代码 ,我都在怀疑 jquery 是 不是垃圾 了!!!

$('#div1 input[title^=null]')
.blur(function() {
//如果文本值等于空
if($(this).val() == '')
{
$(this).val($(this).attr('title')).removeClass('focused');
}
})
.focus(function() {
//如果文本值等于title
if($(this).val() == $(this).attr('title'))
{
$(this).val('').addClass('focused');
}
});

[解决办法]
还有 你那个 赋值
我晕死 自己 研究 下 jquery
要 发挥 选择器的 牛处
[解决办法]
在说个 编程上的 问题

if(starttime=="输入开始时间……")
{
alert("请选择统计开始时间!");
return false;
}
if(endtime=="输入结束时间……")
{
alert("请选择统计结束时间!");
return false;
}

明显 可以 合并
if(starttime=="输入开始时间……"||endtime=="输入结束时间……")
{
alert("请选择统计开始时间!");
return false;
}

这些 都是 小 问题 ,但 很多 的小问题
最后 你的 程序 就 成了 大问题 了
看是 很简单的 一个 习惯
就 能 把 你的工资
和 别人 区分 开来?

读书人网 >asp.net

热点推荐