禁用方法post action php

时间:2014-03-31 12:29:21

标签: javascript php html input

您好,我在按下键enter时创建了自动完成功能。这部分有效。但我也有一个动态add按钮来复制此输入。重复输入使用表单帖子。但是,现在当我按enter我的页面刷新并且我不想要这个因为我的自动完成功能不再有效。我对如何修复它的想法?这是我输入的代码:

<td>
    <span id="numpro" >
        <form method="post" action="">

        <input onclick="addRow(this.form);" type="button" value="+" /> 
        <input type="text" id="name" name="add_name"onkeypress="return handleEnter(event, this, 'task');"/>

<?php
    if($result!=false && mysqli_num_rows($result)>0){
        while($product = mysqli_fetch_array($result)):
?>

<p id="oldRow<?=$product['id']?>">
<input type="text" name="name<?=$product['id']?>" value="<?=$product['name']?>" />
<input type="checkbox" name="delete_ids[]" value="<?=$product['id']?>"> Mark to delete</p>

<?php
    endwhile;
    }
?>
        </form>
    </span> 
</td>

以下是enter密钥的代码:

//------------------COMPLETE CLIENT DESC DIMANCHE----------------------
    function handleEnter(e, obj, field){
        if (e.keyCode == 13 || e.which == 13){
        if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
                }
            else
                {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
        xmlhttp.onreadystatechange=function()
        {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            tempArrayInJS = JSON.parse(xmlhttp.responseText); 
            $("#client1").val( tempArrayInJS[0]['cliName']);
            $("#desc1").val( tempArrayInJS[0]['proDescription']);
        }
      }
        xmlhttp.open("GET","completeclient.php?q="+obj.value,true);
            xmlhttp.send();

        }
    //Enter was pressed, handle it here

这是我的自动填充代码:

//------------------AUTO COMPLETE NUMÉRO DE PROJET----------------------    
            $(document).ready(function(){

        //-------AUTO COMPLETE DIMANCHE PROJET-----
                $("#name").autocomplete({
                    source:'getautocomplete.php',
                    minLength:1
                });

如果我忘了向你展示一些代码,请告诉我。或者,如果我不清楚,我会尝试更好地解释。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我会检查浏览器控制台以查看那里发生了什么样的请求,但我认为使用enter浏览器还提交了围绕你的html的表单:

 <form method="post" action="">

尝试将e.preventDefault()置于不触发默认输入键行为。