Значение кода ключа отправить JQuery - PullRequest
0 голосов
/ 30 августа 2011

Все идет хорошо, только небольшая ошибка

, когда я нажимаю ввод, он отправляет значение через $ .post ().после успеха страница обновляется, почему так

, и если я использую какой-то другой код ключа, он останется с тем же значением, но без обновления

<script>
    $(document).ready(function(){
    $('#newNumber').focus();
    $('#newNumber').keypress(function(e){
            var code=e.keyCode;
            //alert(code);
            if(code==61)
                {
            var nno=$('#newNumber').val();
            $('#load').show();
            if(nno=="")
                {
                    $('#load').hide();
                    $('#alertBox').show();
                    $('#newNumber').focus();
                    $('#alertBox').html("<div class=error><span id=alerttext class='alerttext'>Empty Field</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                    $('#close').click(function(){$('#alertBox').fadeOut(2000);});

            }
            else
            {
                $.post("NumberAction/addAction.php",$('#contentForm').serialize(),function(result){
                    if(result=="yes")
                        {
                            $('#load').hide();
                            $('#alertBox').show();
                           $('#alertBox').html("<div class=warning><span id=alerttext class='alerttext'>Already Exists</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                           $('#newNumber').val("");
                           $('#newNumber').focus();
                           $('#close').click(function(){$('#alertBox').fadeOut(2000);});
                    }
                    else if(result=="done")
                    {
                        $('#load').hide();
                        $('#alertBox').show();
                        $('#alertBox').html("<div class=success><span id=alerttext class='alerttext'>New number is added</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                           $('#newNumber').val("");
                           $('#newNumber').focus();
                           $('#close').click(function(){$('#alertBox').fadeOut(2000);});
                    }
                    else if(result=="error")
                    {
                        $('#load').hide();
                        $('#alertBox').show();
                        $('#alertBox').html("<div class=error><span id=alerttext class='alerttext'>Error in adding</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                           $('#newNumber').val("");
                           $('#newNumber').focus();
                           $('#close').click(function(){$('#alertBox').fadeOut(2000);});
                    }
                })
            }
            }
        })
    })
</script>

Теперь значения идут, но когда я нажимаю ввод, они отправятзначение, но оно также обновит страницу, так что я не смогу использовать код клавиши Enter

1 Ответ

0 голосов
/ 30 августа 2011

Я предполагаю, что вы обнаруживаете нажатую клавишу где-то внутри тега FORM, и , нажимая ввод , вы не только отправляете ajax с помощью $ .post, но и говорите браузеру отправлять форму обычным способом, чтобы страница перезагружена. Чтобы предотвратить это, вы можете сделать одну из двух вещей:

1) Запретить отправку формы, используя:

$("#yourform").submit(function(e) {e.preventDefault()});

2) После выполнения операции "$ .post (" NumberAction / addAction.php ", ...." do return false;

<script>
$(document).ready(function(){
$('#newNumber').focus();
$('#newNumber').keypress(function(e){
        var code=e.keyCode;
        //alert(code);
        if(code==61)
            {
        var nno=$('#newNumber').val();
        $('#load').show();
        if(nno=="")
            {
                $('#load').hide();
                $('#alertBox').show();
                $('#newNumber').focus();
                $('#alertBox').html("<div class=error><span id=alerttext class='alerttext'>Empty Field</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                $('#close').click(function(){$('#alertBox').fadeOut(2000);});

        }
        else
        {
            $.post("NumberAction/addAction.php",$('#contentForm').serialize(),function(result){
                if(result=="yes")
                    {
                        $('#load').hide();
                        $('#alertBox').show();
                       $('#alertBox').html("<div class=warning><span id=alerttext class='alerttext'>Already Exists</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                       $('#newNumber').val("");
                       $('#newNumber').focus();
                       $('#close').click(function(){$('#alertBox').fadeOut(2000);});
                }
                else if(result=="done")
                {
                    $('#load').hide();
                    $('#alertBox').show();
                    $('#alertBox').html("<div class=success><span id=alerttext class='alerttext'>New number is added</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                       $('#newNumber').val("");
                       $('#newNumber').focus();
                       $('#close').click(function(){$('#alertBox').fadeOut(2000);});
                }
                else if(result=="error")
                {
                    $('#load').hide();
                    $('#alertBox').show();
                    $('#alertBox').html("<div class=error><span id=alerttext class='alerttext'>Error in adding</span><div id=close class='close'><img src='images/close.png'/></div></div>");
                       $('#newNumber').val("");
                       $('#newNumber').focus();
                       $('#close').click(function(){$('#alertBox').fadeOut(2000);});
                }
            })
            // return false to prevent regular form submission
            return false;
        }
        }
    })
})
</script>
...