对于coldfusion中的字符限制的警报在IE 9中提供了多个弹出窗口

时间:2012-12-19 10:33:23

标签: javascript coldfusion internet-explorer-9

我的表单中有textarea。如果字段中的文本超出限制,我需要通过弹出消息来限制textarea中的字符数。以下是我现在使用的代码。它适用于FF,Chrome和IE8,但不适用于IE9。在IE9中,如果超出限制,它会提供无限制的弹出窗口:

<script language="javascript" type="text/javascript">
function limitText1(limitField,  limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
        alert("Character limit exceeded--please reduce the length of description or use a file attachment.");
    }
}

<cftextarea
    style="font-family:Arial;font-size:10pt;width:465px;" 
    onKeyDown="limitText1(this.form.description,16350);"
    OnInput="limitText1(this.form.description,16350);"
    onpropertychange="limitText1(this.form.description,16350);"
    required="yes"
    message="Please enter Description"
    class="textarea"
    id="description" 
    cols="75" rows="7" 
    name="description" 
    value="#form.description#"
></cftextarea>

2 个答案:

答案 0 :(得分:2)

cftextarea有一个maxlenghth属性。你为什么不简单地使用它?

如果您想告诉用户他达到了最大字符数,您可以编写一个简单的js函数来执行此操作并在onblur事件中调用它。它比你现在尝试的要简单得多。

答案 1 :(得分:1)

我通常不使用CFForm但是......

而不是使用

onKeyDown="limitText1(this.form.description,16350);"
OnInput="limitText1(this.form.description,16350);"
onpropertychange="limitText1(this.form.description,16350);"

尝试使用一个,onKeyDownonPropertyChange。 (onInput不适用于IE 8或更低版本。)

可能不是解决方案,但值得一试,至少是为了解决问题。