Python论坛  - 讨论区

标题:[python-chinese] JQuery中表单验证问题

2007年03月20日 星期二 20:00

俊杰蔡 yzcaijunjie在gmail.com
星期二 三月 20 20:00:40 HKT 2007

ʹÓÃJQueryµÄajaxSubmitÀ´½øÐÐ±íµ¥ÑéÖ¤£¬µ«ÎÊÌâÊÇÒ³Ãæ²»»á×Ô¶¯Ìøת¡£
js´úÂ룺

$(document).ready(function() {
>      // bind 'myForm' and provide a simple callback function
>     var options={
>         url :   "/personal/",
>         beforeSubmit:  validate,
>         success:  showResponse,
>     };
>
>     $("#myForm").submit(function(){
>         $(this).ajaxSubmit(options);
>         return false;
>     });
> });
>
> function showResponse(responseText, statusText){
>     alert(responseText);
> };
>
> function validate(){
>     var usernameValue = $("input[@name='name']").fieldValue();
>    var passwordValue = $("input[@name='passwd']").fieldValue();
>     if (!usernameValue || !passwordValue) {
>         alert("wrong");
>         return false;
>     }
>     alert("right");
> };


html±íµ¥£º

> 
> Name: > password: > >
²»ÖªµÀΪºÎµ±nameºÍpasswd¶¼ÓÐÄÚÈݺó£¬Ò³Ãæ²»ÄÜ×Ô¶¯Ìøת£¬µ«ÔÚfirebugÖвâÊÔ£¬·¢ÏÖÒѾ­post /personal/Õâ¸öÒ³Ã棬¿É¾ÍÊÇ¿´²»µ½¡£ ÁíÍ⣬ÎÒʹÓÃwindow.open()Ò²ÎÞ·¨Ìøתµ½/personal/Ï -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070320/82098ad1/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月20日 星期二 20:47

limodou limodou在gmail.com
星期二 三月 20 20:47:42 HKT 2007

On 3/20/07, 俊杰蔡 <yzcaijunjie在gmail.com> wrote:
> 使用JQuery的ajaxSubmit来进行表单验证,但问题是页面不会自动跳转。
> js代码:
>
> > $(document).ready(function() {
> >      // bind 'myForm' and provide a simple callback function
> >     var options={
> >         url :   "/personal/",
> >         beforeSubmit:  validate,
> >         success:  showResponse,
> >     };
> >
> >     $("#myForm").submit(function(){
> >         $(this).ajaxSubmit(options);
> >         return false;
> >     });
> > });
> >
> > function showResponse(responseText, statusText){
> >     alert(responseText);
> > };
> >

Ajax本来就不会自动跳转,你要在showResponse()中自已根据结果进行跳转。首先由后台返回一个链接,如:"/",然后在这个函数中执行:

window.location = url;

而返回的url看你自已如何定义了。可以是简单的一个字符串就是一个跳转的url也可以是一个结构。我在openbookplatform是定义了一个hash结构,具体在

http://www.djangosnippets.org/snippets/8/

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月20日 星期二 20:53

yi huang yi.codeplayer在gmail.com
星期二 三月 20 20:53:07 HKT 2007

>
> 不知道为何当name和passwd都有内容后,页面不能自动跳转,但在firebug中测试,发现已经post
> /personal/这个页面,可就是看不到。
> 另外,我使用window.open()也无法跳转到/personal/下


既然想跳转还用 ajax 干嘛。服务器端返回 302 状态就可以嘛。
return HttpRedirectResponse('/personal/')

-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20070320/b45fa260/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月20日 星期二 21:16

俊杰蔡 yzcaijunjie在gmail.com
星期二 三月 20 21:16:15 HKT 2007

¸ÐлlimodouºÍyi huangµÄ»Ø¸´¡£
ÎÒÔ¤ÆÚÊÇÕâÑùµÄ£¬µ±µã»÷submit°´Å¥Ê±£¬ÓÃJQueryµÄvalidateÀ´ÑéÖ¤±íµ¥ÄÚÈÝ£¬Èç¹ûÂú×ãÌõ¼þÔòÌøתµ½ÎÒÐèÒªµÄÒ³Ã棬Èç¹û²»Âú×ãÔò×÷һЩ´íÎó´¦Àí£¨ÈçÌáʾ£©¡£

yi huangµÄ»°ÁîÎÒéÈû¶Ù¿ª£¬ajaxµÄÈ·ÊDz»ÐèҪʹҳÃæÌøת£¬ÎÒÏÖÔÚÖØиÃÁËÏ£¬

$("#fillin").html(responseText);
>

ÕâÑù¾Í¿ÉÒÔ°Ñ·þÎñÆ÷·µ»ØµÄÒ³ÃæÖ±½ÓÊä³öµ½µ«Ç°Ò³Ã棬²»ÐèÒªurlÖض¨ÏòÁË¡£

ÁíÍ⣬limodouµÄ·½·¨Ò²°ïÎÒ½â¾öÎÊÌâÁË¡£

window.location="/personal/"
>


ÔÚ07-3-20£¬limodou <limodou在gmail.com> дµÀ£º
>
> On 3/20/07, ¿¡½Ü²Ì <yzcaijunjie在gmail.com> wrote:
> > ʹÓÃJQueryµÄajaxSubmitÀ´½øÐÐ±íµ¥ÑéÖ¤£¬µ«ÎÊÌâÊÇÒ³Ãæ²»»á×Ô¶¯Ìøת¡£
> > js´úÂ룺
> >
> > > $(document).ready(function() {
> > >      // bind 'myForm' and provide a simple callback function
> > >     var options={
> > >         url :   "/personal/",
> > >         beforeSubmit:  validate,
> > >         success:  showResponse,
> > >     };
> > >
> > >     $("#myForm").submit(function(){
> > >         $(this).ajaxSubmit(options);
> > >         return false;
> > >     });
> > > });
> > >
> > > function showResponse(responseText, statusText){
> > >     alert(responseText);
> > > };
> > >
>
> Ajax±¾À´¾Í²»»á×Ô¶¯Ìøת£¬ÄãÒªÔÚshowResponse()ÖÐ×ÔÒѸù¾Ý½á¹û½øÐÐÌøת¡£Ê×ÏÈÓɺǫ́·µ»ØÒ»¸öÁ´½Ó£¬È磺"/"£¬È»ºóÔÚÕâ¸öº¯ÊýÖÐÖ´ÐУº
>
> window.location = url;
>
>
> ¶ø·µ»ØµÄurl¿´Äã×ÔÒÑÈçºÎ¶¨ÒåÁË¡£¿ÉÒÔÊǼòµ¥µÄÒ»¸ö×Ö·û´®¾ÍÊÇÒ»¸öÌøתµÄurlÒ²¿ÉÒÔÊÇÒ»¸ö½á¹¹¡£ÎÒÔÚopenbookplatformÊǶ¨ÒåÁËÒ»¸öhash½á¹¹£¬¾ßÌåÔÚ
>
> http://www.djangosnippets.org/snippets/8/
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070320/4bc0e0f6/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月20日 星期二 21:17

limodou limodou在gmail.com
星期二 三月 20 21:17:34 HKT 2007

On 3/20/07, yi huang <yi.codeplayer在gmail.com> wrote:
> > 不知道为何当name和passwd都有内容后,页面不能自动跳转,但在firebug中测试,发现已经post
> /personal/这个页面,可就是看不到。
> > 另外,我使用window.open()也无法跳转到/personal/下
>
>
> 既然想跳转还用 ajax 干嘛。服务器端返回 302 状态就可以嘛。
> return HttpRedirectResponse('/personal/')
>

不同啊。在我处理的ajax中,大部分是不跳转换的,有些跳转是成功后才跳,但是出错就不跳转。而且在前端完全可能跳转,更简单。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号