2012-05-12 14 views
2

我正在使用一些单选按钮来影响jQuery小部件的行为状态。 该窗口小部件可以在表单中使用,但由于这些收音机不包含任何实际数据,因此我不希望它们向服务器提交噪声,或者导致与将在其窗体中使用该窗口小部件的任何人发生命名冲突。从表单提交排除单选按钮而不禁用它们

这里有两个可能的解决方案开始,还没有令人满意的,但:

  • 删除name属性:似乎做工精细的其他投入,而是变成我的收音机到复选框:它杀死它们之间的链接所以选择一个不会取消选择其他人。有没有一种HTML方式(即Javascript事件以外的方式)绑定它们而没有name属性?
  • 禁用输入:正如所料,没有提交任何内容,但收音机变灰,无法点击。有什么方法可以保持可点击但尚未提交,就像在提交时禁用一样?

尽可能地,我宁愿寻找一个跨浏览器的解决方案。

+0

难道他们需要在表单内? – Zuul

+0

我们必须假设它是要求的一部分。这个想法是,这个小部件被包含在一个表单中,并且像任何其他字段一样工作。 –

回答

1

尝试在提交之前调用一个函数,禁用单选按钮。

function disableBtn() { 
    document.getElementById('idbtn1').setAttribute('disabled', 'disabled'); 
    document.getElementById('idbtn2').setAttribute('disabled', 'disabled'); 
    return true; 
} 

然后,在形式:

<form action="file" method="post" onsubmit="return disableBtn()">