按钮未在文本框的keyevent上禁用

时间:2014-04-08 06:51:28

标签: javascript jquery jsp

我尝试使用以下代码在文本框前打印错误消息:

    <script type="text/javascript">
        <%int n=(Integer)request.getAttribute("n");%>

        $(document).ready(function(){

        var A=<%=n%>;
        $('input[name^=txtDynamic_]').keyup(function () {
        if ($(this).val() > A) {
            //alert("inside if");
            $(this).next().html('Greater than Total shares');
            $("#flagvalue").val("invalid"); 
        }
        else{
            $(this).next().html('');
            $("#flagvalue").val("valid"); 
        }
        });

        if($("#flagvalue").val()=="invalid")
        {
            $("#submitbutton").prop('disabled', true);
        }
        else{
            $("#submitbutton").prop('disabled', false);
        }
        });


</script>

,表格是:

    <FORM METHOD=POST ACTION="stegnographyonshares" enctype="multipart/form-data"> 

        <c:forEach var="i" begin="1" end="${myK}">
        Enter The  ${i} share number: <input type="textbox" name="txtDynamic_${i}"/><span></span>

        <br />
        <br>
        </br>
    </c:forEach> 
        <br></br>
        <INPUT TYPE="file" NAME="file" value="file"> 
        <br></br>

       <input type="submit" value="SAVE" id="submitbutton">
        <input type="hidden" id="flagvalue"/>
    </form>

这有什么问题?脚本代码没有运行,虽然打印错误消息但没有禁用按钮。请帮助

3 个答案:

答案 0 :(得分:0)

$(document).ready(function(){
 var A = <%=(Integer)request.getAttribute("n")%>       
        $('input[name^=txtDynamic_]').keyup(function () {
        if ($(this).val() > A) {
            $(this).next().html('Greater than Total shares');
            flag=1;
        }
        else{
                $(this).next().html('');
        }
        });
}); 

演示:

http://jsfiddle.net/UMLe2/

更新

http://jsfiddle.net/UMLe2/2/

答案 1 :(得分:0)

在DOM结构准备就绪时调用您的代码,因为您编写的代码在DOM结构生成之前加载

$(document).ready(function(){

//Put your js code here
});

答案 2 :(得分:0)

试试这个:

<script>
$(document).ready(function(){

<%int n=(Integer)request.getAttribute("n");%>
    var A=<%=n%>;
    $('input[name^=txtDynamic_]').keyup(function () {
    if ($(this).val() > A) {
        $(this).next().html('Greater than Total shares');
        flag=1;
    }
    else{
            $(this).next().html('');
    }
    });
});
</script>