Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按enter键的ajax表单_Php_Jquery_Ajax - Fatal编程技术网

Php 按enter键的ajax表单

Php 按enter键的ajax表单,php,jquery,ajax,Php,Jquery,Ajax,//更新 $('#codice_prodotto').on('keyup', function(e) { if (e.which === 13) { e.preventDefault(); $('#cerca_prodotto').trigger('click'); } }); 这是实时工作的,但如果我按Enter键,脚本将在domain/?codice\u prodotto=val中重定向我 有什么解决办法吗 //结束更新 $('#co

//更新

$('#codice_prodotto').on('keyup', function(e) {
     if (e.which === 13) {
         e.preventDefault();
         $('#cerca_prodotto').trigger('click');
     }
});

这是实时工作的,但如果我按Enter键,脚本将在domain/?codice\u prodotto=val中重定向我

有什么解决办法吗

//结束更新

$('#codice_prodotto').on('keyup', function(e) {
     if (e.which === 13) {
         e.preventDefault();
         $('#cerca_prodotto').trigger('click');
     }
});
我遇到ajax请求问题,这是索引页:

<script>
 $(document).ready(function() {
$("#cerca_prodotto").click(function(){
    var dati = $("#form-cerca-prod").serialize();
    $.ajax({
        type: "POST",
        url: "product/show_prod.php",
        data: dati,
        dataType: "html",
        success: function(msg){ $("#risultato").html(msg); },
        error: function(){ alert("Ricerca fallita, riprovare..."); }
    });
});
});
</script>
<form id="form-cerca-prod">
   <input name="codice_prodotto" type="text" placeholder="Codice Prodotto" id="codice_prodotto">
   <br><br>
   <input type="button" id="cerca_prodotto" value="Cerca">
</form>

<div id="risultato">
</div>

$(文档).ready(函数(){
$(“#cerca_prodotto”)。单击(函数(){
var dati=$(“#form cerca prod”).serialize();
$.ajax({
类型:“POST”,
url:“product/show_prod.php”,
资料来源:达蒂,
数据类型:“html”,
成功:函数(msg){$(“#risultato”).html(msg)},
错误:函数(){alert(“Ricerca fallita,riprovare…”);}
});
});
});


还有这个产品/show_prod.php

    <?php
include "../config/config.inc.php";
$cod=urldecode($_POST['codice_prodotto']);
$q=mysql_query("SELECT * FROM prodotto WHERE id='$cod'");
if(mysql_num_rows($q)<1)
    echo "Nessun prodotto trovato!";
else{
    $p_id=mysql_result($q,0,"id");
    $p_descr=mysql_result($q,0,"descrizione");
    $p_prezzo=mysql_result($q,0,"prezzo");
    $p_prezzo=number_format($p_prezzo,2,',','.');
    ?>
    <br><br>
    <div style="border: 1px solid #e9e9e9; padding: 6px; border-radius: 5px;">
        <table border="0" align="center" style="color: #fff;">
            <tr>
                <td align="right">
                    Codice :
                </td>
                <td align="left">
                    <b><? echo $p_id; ?></b>
                </td>
            </tr>
            <tr>
                <td align="right">
                    Nome :
                </td>
                <td align="left">
                    <code><? echo $p_descr; ?></b>
                </td>
            </tr>
            <tr>
                <td align="right">
                    Prezzo :
                </td>
                <td align="left">
                    <b>&euro; <? echo $p_prezzo; ?></b>
                </td>
            </tr>
            <tr>
                <td align="center" colspan="2" style="padding: 7px;">
                    Quantit&agrave;: <input type="number" min="6" value="6" name="quantita" style="width: 40px;"><br><button type="submit" id="agg_prodotto"><img src="img/cart.png"> Aggiungi al carrello</button>
                </td>
            </tr>
        </table>
    </div>
    <?
}
?>



密码: 诺姆:

序言:
&欧元;
Quantità;:
如果我点击按钮,脚本就可以运行了!如果我输入代码并按键盘上的enter键,脚本将无法工作

如何解决此问题?

将此添加到您的表单中:

<input type="submit" />


这就是在回车时触发自动提交的原因。

因为您的表单没有提交到任何url。您也可以绑定Enter键来触发AJAX请求。就像单击事件一样。

我相信将脚本更改为此应该可以:

$('#codice_prodotto').on('keyup', function(e) {
     if (e.which === 13) {
         e.preventDefault();
         $('#cerca_prodotto').trigger('click');
     }
});
 $(document).ready(function() {
$("#cerca_prodotto").click(function(){
    var dati = $("#form-cerca-prod").serialize();
    $.ajax({
        type: "POST",
        url: "product/show_prod.php",
        data: dati,
        dataType: "html",
        success: function(msg){ $("#risultato").html(msg); },
        error: function(){ alert("Ricerca fallita, riprovare..."); }
    });
});
$("#codice_prodotto").keyup(function(event){
    if(event.keyCode == 13){
        $("#cerca_prodotto").click();
    }
});
});

不久前我玩过这个,如果submit按钮被隐藏,它将不起作用,因此您不能使用
display:none
。你必须在屏幕外进行绝对定位(比如顶部:-10,左侧:-10,宽度:1,高度:1,溢出:隐藏,位置:绝对)@f.ardelian你可以使用
可见性:隐藏
是的,但在这种情况下,您必须记住元素仍将在布局中使用空间。对于否决此选项的人(我将其设置为1,现在为0),这是解决问题的最佳方法。将提交按钮作为表单的一部分比在不需要时使用JavaScript更有意义。如果表单最终有一个
@f.ardelian-这是基于问题中的代码,它与其他元素不起作用,因为它是按ID针对代码中唯一的输入元素,因此,即使是另一个输入也会破坏它,或者其他任何东西,但这并不重要,因为它解决了OP的问题,并且是发布代码的最简单修复方法。可能是什么、应该是什么、可能是什么等都不重要。这是实时工作的,但如果我按enter键,脚本将在domain/?codice\u prodotto中重定向我=val@user2078421-这可以解决,编辑答案。我通过添加“onSubmit='return false;”来解决它