Javascript IE 6&;IE 7打印单选按钮

Javascript IE 6&;IE 7打印单选按钮,javascript,internet-explorer,printing,radio-button,Javascript,Internet Explorer,Printing,Radio Button,我有一个“计算器”,它有两个单选按钮(),您可以在执行计算之前选择。 要查看我的问题,请选择标记为“N-12”的单选按钮[要测试,我们只需将“5”放在“坡度”中,将“30”放在“管道尺寸”中,然后选择“N-12”,然后进行计算一切正常,直到打印。 由于人们希望获得计算的纸质副本,他们通常在计算完成后打印计算表单,但如果您选择“N-12”并打印页面,则打印时将选择“单面墙”单选按钮。 我已经读到这是一个bug,你可以强迫IE8用JS识别选中的单选按钮,我就是这么做的,但它不适用于IE6和IE7。

我有一个“计算器”,它有两个单选按钮(),您可以在执行计算之前选择。 要查看我的问题,请选择标记为“N-12”的单选按钮[要测试,我们只需将“5”放在“坡度”中,将“30”放在“管道尺寸”中,然后选择“N-12”,然后进行计算一切正常,直到打印。 由于人们希望获得计算的纸质副本,他们通常在计算完成后打印计算表单,但如果您选择“N-12”并打印页面,则打印时将选择“单面墙”单选按钮。 我已经读到这是一个bug,你可以强迫IE8用JS识别选中的单选按钮,我就是这么做的,但它不适用于IE6和IE7。 这是我用来纠正IE8问题的JS:

function toggleRadioCheckbox(el) {
if ( el.getAttribute('checked') != 'checked' ) {
    el.setAttribute('checked','checked');
}
else {
    el.removeAttribute("checked");
}
}

有人知道我需要做什么来纠正IE6和IE7的错误吗。

是的。尝试此(需要jQuery)解决方案:

// We want the change event to trigger when the radio buttons are clicked.
// Normally IE doesn't
// trigger change until the radio button has lost focus.  
// Fake it with this click handler
$('input:radio').click(function() {
    this.blur();
    this.focus();
});

谢谢你,托尼,我很快就会给你的!我把它添加到我的页面上,但是当你从IE6或IE7开始打印时,他们在打印之前重置了单选按钮,这是非常勇敢的努力,但没有成功。我只是转到了你原来帖子中的链接。我正在使用Win7 Enterprise和IE 8。我填写表格,选择“N-12”单选按钮,点击“计算”。计算值出现了。然后我将页面打印出来,一次打印到真正的打印机,一次打印到Adobe PDF“打印机”。在这两种情况下,单选按钮都处于“N-12”状态。也许可以尝试清除浏览器缓存并重新打印?谢谢,这很有效!抱歉,测试花了一些时间,我们刚刚被另一场大暴风雪袭击。