2010-04-15 49 views
1

我正在做新闻订阅。我有2radio按钮 - 订阅和unsubscibe和一个提交按钮。但是当我点击提交按钮,ajax函数被调用subscription.Now我想做验证。已经写了单选按钮JavaScript验证如下:单选按钮的Javascript验证

function validate_radio() 
       { 
        var radio_choice = false; 
        var radio_val = document.newsletterform.subscribe.length; 
        for (counter = 0; counter < radio_val; counter++) 
        { 
         if (document.newsletterform.subscribe[counter].checked) 
         radio_choice = true; 
        } 
        if (!radio_choice) 
        { 
         document.getElementById("mandatory").innerHTML="Select Subscribe/Unsubscribe"; 
         return false; 
        } 

       } 

但现在我得到了验证消息,但同时我得到认购。 告诉我一个方法,这样我可以停止订阅正在完成,如果函数返回false。 我打电话的功能如下:

+0

你是怎么调用这个函数的? – SLaks 2010-04-15 13:42:29

+1

你有没有一个很好的理由,为什么不使用其中一个优秀的图书馆(嗯,... mootools ...),并使用他们的预建机械装置只是为了那个? – 2010-04-15 13:42:44

+1

因为拖拽一个巨大的框架库来检查两个单选按钮的'.checked'属性是完全疯狂的?只是一个想法。 – bobince 2010-04-15 13:53:07

回答

0

对于什么是值得的,我认为它不适合用于包含单选按钮的窗体。年轻人不记得旧的收音机,或者因为弄乱按钮而大吼大叫,让他们都弹出来。单选按钮被称为“单选按钮”,因为其中之一必须始终被选中。您的用户将按钮初始化为良好的默认设置会更友好。

+0

我完全没有做过这种连接......我记得“欺骗”收音机打破,总是很有趣:D你的帖子让我大声笑:) – Jeriko 2010-04-15 14:54:16

5

听起来像你的表单不应该停止时,它应该是。我假设你有类似

<form onsubmit="validate_radio()">...</form> 

由于您的validate_radio()函数返回失败假的,你只需要修改你的表单,如果验证确实失败:

<form onsubmit="return validate_radio()">...</form> 

这样的形式将暂停如果验证失败。

+0

大声笑,+1我的答案(几秒钟后)几乎*相同*。 – 2010-04-15 13:46:56

+3

@OP:我的回答有一件事情,那不是:为什么不预先选择一个按钮?然后你就会知道总有一个被选中,不需要验证...... – 2010-04-15 13:47:19

+0

:D我需要代表,你绝对不需要! – Jeriko 2010-04-15 13:48:51