javascript
  • ajax
  • reloading
  • 2016-04-18 14 views 3 likes 
    3

    データベースの行を削除しようとしています。レコードが削除されていますが、ページがリロード中です。私はAJAXを使用しているので、ページをリフレッシュするべきではありません。ここ はjsの関数である:AJAXを適用してもページがリロードされています

    function delThis(id) 
    { 
    var deleteRow = id; 
    var page = "stu_rec1.php"; 
    var parameters ='deleteRow='+deleteRow; 
    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
         alert("Form sent successfully"); 
    }; 
    xmlhttp.open("POST",page,true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send(parameters); 
    } 
    

    次のHTMLコードです:

    <?php for($i=0;$i<count($id);$i++){?> 
    <tr> 
        <td><?php echo $name[$i];?></td> 
        <td><?php echo $email[$i];?></td> 
        <td><?php echo $mobno[$i];?></td> 
        <td><?php echo $gender[$i];?></td> 
        <td><?php echo $address[$i];?></td> 
        <td><input type="submit" name="delete" value="Delete" id="delete" onclick="delThis(<?php echo $id[$i];?>);" ></td> 
    </tr> 
    <?php }?> 
    

    そして、これは削除を実行しているコードです:

    <?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $db="myDB"; 
    $delete = $_POST["deleteRow"]; 
    $conn = new mysqli($servername, $username, $password,$db); 
    
    if ($conn->connect_error) { 
        die("Connection failed: ".mysqli_connect_error()); 
    } 
    $sql = "SELECT name, email, mobileno,gender,address FROM studentrecords"; 
    $result = mysqli_query($conn, $sql); 
    $count=mysqli_num_rows($result); 
    
    if($delete !="") 
    { 
    $query= "DELETE FROM studentrecords WHERE id='$delete'"; 
    $result1 = mysqli_query($conn, $query); 
    } 
    
    mysqli_close($conn); 
    ?> 
    
    +0

    type = "submit" to type = "button" –

    答えて

    1

    = "提出タイプを変更してください"to type =" button "

    <?php for($i=0;$i<count($id);$i++){?> 
    <tr> 
    <td><?php echo $name[$i];?></td> 
    <td><?php echo $email[$i];?></td> 
    <td><?php echo $mobno[$i];?></td> 
    <td><?php echo $gender[$i];?></td> 
    <td><?php echo $address[$i];?></td> 
    <td><input type="button" name="delete" value="Delete" id="delete" onclick="delThis(<?php echo $id[$i];?>);" ></td> 
    </tr> 
    <?php }?> 
    function delThis(id) 
    { 
    var deleteRow = id; 
    var page = "stu_rec1.php"; 
    var parameters ='deleteRow='+deleteRow; 
    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange = function() { 
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
        alert("Form sent successfully"); 
        //add here your callback row remove code 
    }; 
    xmlhttp.open("POST",page,true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send(parameters); 
    } 
    
    +0

    Ajaxの成功コールバックを使用してその行を削除してください –

    +0

    これはjQueryの部分です.Javascriptを使用しています。 –

    関連する問題