2016-05-08 8 views
1

フォームを送信した後にjQueryを使用して特定のPHP関数を呼び出そうとしていますが、それを実現するにはどうしますか?jQueryからPHP関数を呼び出す方法は?

ここに私のコードです:

HTML

<form id="frmAgregar" method="post"> 
    <input id="txtcant" class="centrado" type="number" value="1" required> 
    <input class="btnSubmit btnResize" type="submit" value="Agregar +"> 
</form> 

はjQueryの

$("#frmAgregar").submit(function() { 
    if ($("#txtcant").val() < 1 || $("#txtcant").val() == "") { 
     return false; 
    } else { 
     var popup = document.getElementById("popupAgregado"); 
     popup.setAttribute("style", "display: block;"); 
     popup.setAttribute("class", "popupAgregado");  
     setTimeout(function() {popup.style.display='none'}, 1700); 

     //HERE'S WHERE I NEED TO CALL THE PHP FUNCTION 
    } 
}); 

PHP

<?php 
    function insertarDato() { 
     $cant = $_POST["txtcant"]; 
     $query_insertarcontacto = mysql_query("INSERT INTO pedidotemp(cant) VALUES('$cant')", $cnbddelicomi) or die(mysql_error()); 
    } 
?> 

すべてのヘルプは本当に理解されるであろう。

ありがとうございます。 、私は私はこの1つを解決した方法を共有しています同様の問題といくつかの助けが必要な場合があります誰にも

+0

ユーザーをリダイレクトする場合は、window.locationを使用しますか? – Terry

+0

あなたのヘッダーがhtmlの場合はphpでない –

+0

直接ではありません。 JavaScriptはAjax(またはそれに提出できる '

')でPHPファイルを呼び出すことができ、そのファイルはその関数を呼び出すことができます。 –

答えて

0

...

HTML

<form id="frm-addcart" method="post"> 
    <input id="txt-quantity" class="text-center" type="number" value="1" required> 
    <input id="btn-submit" class="submitted btn-resize" type="submit" value="Agregar +"> 
    <input type="hidden" id="checker-login" name="checker-login" value="isValid"> 
</form> 

jQueryの

$("#btn-submit").on("click", function (event) { 

    // DEFAULT ACTION OF THE EVENT WILL NOT BE TRIGGERED 
    event.preventDefault(); 

    // GET THE VALUES FROM THE FORM 
    var clickBtnValue = "btn-addcart"; 
    var checkerLogin = $("#checker-login").val(); 
    var quantity = $("#txt-quantity").val(); 

    // USE AJAX TO CALL THE PHP FUNCTION 
    $.ajax({ 
    type : 'POST', 
    url : 'php/functions.php', 
    data : { 
     "action" : clickBtnValue, 
     "checkerLogin" : checkerLogin, 
     "quantityAdded" : quantity  
    }, 
    success : function (data) { 

     // data IS THE VALUE THAT THE PHP FUNCTION RETURNS THROUGH echo 
     if (data == "valid") { 
      window.location.href = "home.html";      
     } else {       
      alert("Something went wrong.");    
     } 

    }, 
    error : function() { 

     alert("An error has ocurred."); 

    } 
    });  

}); 

php

if (isset($_POST["action"]) == true) { 
    switch ($_POST["action"]) { 

    case "btn-addcart": 
     insertData(); 
     break; 

    } 
} 

function insertData() { 

    // GET DATA FROM AJAX PARAMETERS 
    $checkLogin = $_POST["checkerLogin"]; 
    &quantity = $_POST["quantityAdded"]; 

    // VALIDATE AND EXECUTE REST OF FUNCTION 
    // AND IF EVERYTHING GOES OK 
    echo "valid"; 
    exit(); 

} 

これだけです!私はjQueryからPHP関数を呼び出しています。

お楽しみください!

関連する問題