2017-06-20 3 views
0

** Dies ist meine php index.php Datei. Ich möchte Vornamen und Nachnamen eingeben und automatisch die Datenbank speichern. Ich habe den Code mit Ajax geschrieben. aber das funktioniert nicht richtig. Bitte kann mir jemand helfen. **So fügen Sie onkeypress in PHP-Format speichern

index.php

<?php 
$connection = mysql_connect("localhost", "root", ""); 
$db = mysql_select_db("type", $connection); 
if(isset($_POST['submit'])){ 
$firstName = $_POST['firstName']; 
$lastName = $_POST['lastName']; 

if($firstName !=''||$lastName !=''){ 
//Insert Query of SQL 
$query = mysql_query("insert into users(firstName, lastName) values ('$firstName', '$lastName')"); 
echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
} 
else{ 
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
} 
} 
mysql_close($connection); 
?> 

<html> 
<head> 
<meta><title>Home Page</title> 
<script type="text/javascript"> 
$(document).on('keyup','firstName','lastName',function(){ 
     var rel = $(this).attr('rel'); 
     var flatvalue = $(this).val(); 
     $("#firstName"+rel).val(flatvalue); 
    }); 
    </script> 
</head> 
<body> 
    <form action="" method="post"> 
      <label for="firstName">First Name</label> 
      <input type="text" name="firstName" ><br><br> 
      <label for="lastName">Last Name</label> 
      <input type="text" name="lastName" ><br><br> 
      <input type="submit" id="submit" name="submit" value="submit"/> 
     </form> 
</body> 
</html> 
+0

Es gibt zwei Möglichkeiten, um Ihre Daten zu veröffentlichen. 1) Senden Sie das Formular mit jQuery on onKeyUp-Ereignis. 2) Poste Daten in Ajax-Datei und speichere deine Daten. –

+0

bitte können Sie mir Hilfe geben – loke2

+0

meinst du, du willst die Änderungen auf Ihrem Textfeld auf jeder Presse gemacht? – perseusl

Antwort

0

onKeyPress Ereignis nicht richtig, weil es oft wie pro Benutzer Hit nennen.

Verwenden Sie das onBlur-Ereignis anstelle von onKeyPress, um das Formular zu senden und in der MySql-Benutzertabelle zu speichern.

unten Beispiel Versuchen Sie,

PHP

<?php 
$connection = mysql_connect("localhost", "jaydeep_mor", "jaydeep_mor"); 
$db = mysql_select_db("jaydeep_mor", $connection); 
if(isset($_POST['firstName']) && isset($_POST['lastName'])){ 
    $firstName = $_POST['firstName']; 
    $lastName = $_POST['lastName']; 

    if($firstName != '' || $lastName != ''){ 
     //Insert Query of SQL 
     $query = mysql_query("insert into users(firstName, lastName) values ('$firstName', '$lastName')"); 
     header("Location: test.php?msg=Data Inserted successfully...!!"); 
    } 
    else{ 
     echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
    } 
} 
mysql_close($connection); 
?> 

HTML/JavaScript

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<meta><title>Home Page</title> 
<script type="text/javascript"> 
    function saveData(){ 
     document.forms["userDataForm"].submit(); 
    } 
</script> 
</head> 
<body> 
    <?php if(isset($_GET['msg']) && trim($_GET['msg'])!=""){ ?> 
     <br /><div><?php echo $_GET['msg']; ?></div><br /> 
    <?php } ?> 
    <form action="test.php" method="post" name="userDataForm"> 
     <label for="firstName">First Name</label> 
     <input type="text" name="firstName" value="<?php echo isset($_POST['firstName'])?$_POST['firstName']:''; ?>" ><br><br> 
     <label for="lastName">Last Name</label> 
     <input type="text" name="lastName" value="<?php echo isset($_POST['lastName'])?$_POST['lastName']:''; ?>" onblur="return saveData();" ><br><br> 
     <!--input type="submit" id="Submit" name="Submit" value="submit"/--> 
    </form> 
</body> 
</html> 
+0

Das ist die Antwort mein Freund Jetzt möchte ich es anpassen – loke2

+0

Willkommen always @ loke2. –

+0

'Daten erfolgreich eingefügt ... !!' diese Nachricht, wie man 'index.php' zeigt – loke2

0
<?php 
$connection = mysql_connect("localhost", "root", ""); 
$db = mysql_select_db("type", $connection); 
if(isset($_REQUEST['firstName'])){ 
$firstName = $_REQUEST['firstName']; 
$lastName = $_REQUEST['lastName']; 

if($firstName !=''||$lastName !=''){ 
//Insert Query of SQL 
$query = mysql_query("insert into users(firstName, lastName) values ('$firstName', '$lastName')"); 
echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 
die(); 
} 
else{ 
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>"; 
die(); 

} 
} 
//mysql_close($connection); 
?> 

<html> 
<head> 
<meta><title>Home Page</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('#submit').click(function(){ alert('d'); 
     var firstname = $('#firstName').val(); 
     var lastname = $('#lastName').val(); 
     $.ajax({ 
      url:'', 
      data:{'firstname':firstname,'lastname':lastname, }, 
      type: 'POST', 
      success: function(data){ 
       alert("Data Save: " + data); 
     } 
      }); 
    }); 
    }); 
    </script> 
</head> 
<body> 
      <label for="firstName">First Name</label> 
      <input type="text" name="firstName" id="firstName"><br><br> 
      <label for="lastName">Last Name</label> 
      <input type="text" name="lastName" id="lastName"><br><br> 
      <input type="submit" id="submit" name="submit" value="submit"/> 

</body> 
</html> 
+0

das funktioniert nicht mein Freund. – loke2

0

haben Sie es auf diese Weise

$('body').delegate('input[type="text"]', 'keypress keydown keyup change propertychange paste', function(event) { 
    event.stopImmediatePropagation(); 

    if (event.type === 'keydown' || event.type === 'keypress') { 
     return; 
    } 
    //insert what you want to do here 
    //perform some ajax 
    /* 
    $.ajax({ 
     url: 'index.php', 
     method: 'POST', 
     data: { 
      'firstName' : $('input[name=firstName]).val(), 
      'lastName' : $('input[name=lastName]).val() 
     }, 
     success: function(mResponse) { 
      alert(mResponse); 
     } 
    }); 
    */ 
}); 
+0

Daten sparen mit Ajax, aber ich möchte, wie onkeypress verwenden, speichern Sie die Daten meines Freundes. Können Sie mir bitte helfen. – loke2

+0

was meinst du auf Tastendruck? Der Code, den ich zur Verfügung gestellt habe, wird beim Drücken der Taste gespeichert. – perseusl

+0

Wenn ich tippe, möchte ich in der Datenbank speichern. Bevor Sie auf die Schaltfläche 'Abschicken' klicken – loke2

0

sein kann, dies kann Ihnen helfen, versuchen zu tun, , wenn Sie es tun wollen über Formular senden dann müssen Sie nur die URL Ihrer Controller-Funktion in der Aktionsmethode des Formulars geben

<form action="" method="post"> 
     <label for="firstName">First Name</label> 
     <input type="text" name="firstName" ><br><br> 
     <label for="lastName">Last Name</label> 
     <input type="text" name="lastName" ><br><br> 
     <input type="submit" id="submit" name="submit" value="submit"/> 
    </form> 

, wenn Sie es über Ajax tun wollen, dann können Sie id-Attribut für first_name und last_name Eingang hinzufügen und es in folgenden Weise tun können,

$('#submit').on('click', function(){ 
var first_name = $("#first_name").val(); 
var last_name = $("#last_name").val(); 
$.ajax({ 
     url: url of your controler, //url of your controller function 
     type: "POST", 
     data: {'first_name' : first_name,'last_name':last_name}, 
        success: function (data) { 

         //whatever you want to do on success 

         } else { 
          //in case of no data 
         } 
        } 

       });  

});

auf die gleiche Art und Weise können Sie ein Klasse-Attribut in das Eingabefeld geben und auf keyup event

die Daten über Klasse speichern
+0

Daten sparen mit Ajax, aber ich möchte, wie onkeypress verwenden, speichern Sie die Daten mein Freund. Können Sie mir bitte helfen. – loke2

+0

Was ich mit Clik-Ereignis getan habe, können Sie es mit Keypress-Ereignis tun, indem Sie ein Klassenattribut für Ihr Eingabefeld zuweisen, und da ich Click-Ereignis mit ID angefügt habe, können Sie es mit Klasse $ (". Classname") tun. on ('Tastendruck', Funktion() {}) – Nivedita

+0

'$ (". firstName "). on (" Tastendruck ", Funktion() {' ich habe das geändert, aber das funktioniert nicht – loke2