AJAX не работает (позвоните в php и получите результат обратно) - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь сделать флажок вызова php-кода, а затем вернуть результаты для печати в textarea.

Теперь проблема в том, что php-файл не печатает результат на textarea или, возможно,Аякс не работает.Я уверен, что в коде MySQL нет ничего плохого.

Это код form.php:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
      <script language="javascript" type="text/javascript">
         $(document).ready(function() {

          var checkbox = document.getElementById('subscribers').checked;

         //Check if checkbox is checked
         if (checkbox === true) {
         //Read databank for Results
          document.getElementById("to").value = "result  should be here.";
          $.ajax({
                type: 'POST',
                url: 'sms/readSubscriber.php',
                data: {'variable': dataPhp},
                complete: function(r){
                  var subscriberNumbers = r.responseText;
                   document.getElementById('to').innerHTML = subscriberNumbers;
               }
              });


         } else {
           document.getElementById("to").value = "";
         }


         }); 


         function doalert() {
         //Check if checkbox is checked
         var checkboxElem = document.getElementById("subscribers").checked;
         if (checkboxElem === true) {
         //Read databank for Results
          document.getElementById("to").value = "result  should be here.";
          $.ajax({
                type: 'POST',
                url: 'sms/readSubscriber.php',
                data: {'variable': dataPhp},
                complete: function(r){
                  var subscriberNumbers = r.responseText;
                   document.getElementById('to').innerHTML = subscriberNumbers;
               }
              });


         } else {
           document.getElementById("to").value = "";
         }

         }


      </script>
   </head>
   <body>
      <fieldset style="width:50%;margin:auto" dir=ltr>
         <form action="" method="POST">
            <table border="0" cellspacing="3" cellpadding="3">
               <tr>
                  <td>Your Balance</td>
                  <td><input type="text" class="form-control" name="Balance" size="20" disabled="disabled" value="<?php
                     echo $Credits;
                     ?>"></td>
               </tr>
               <tr>
                  <td>Mobile No.</td>
                  <td><textarea textarea class="form-control" id="to" name="Mobile" cols="30" rows="5"></textarea><br></td>
                  <td>
                     <div class="checkbox">
                        <label><input type="checkbox" value="subscribers"  onchange="doalert()" id="subscribers" checked>Subscribers</label>
                     </div>
                  </td>
               </tr>
               <tr>
                  <td>Message</td>
                  <td><textarea class="form-control" name="Text" cols="30" rows="5" required></textarea></td>
               </tr>
               <tr>
                  <td>&nbsp;</td>
                  <td><input type="submit" name="Go" value="Send SMS" /></td>
               </tr>
            </table>
         </form>
      </fieldset>
   </body>
</html>

, и это readSubscriber.php

<?php
require_once('../db_functions.php');

// Connect to the database
$connection = db_connect();
//if connection fails, stop script execution
if (mysqli_connect_errno()) {
    echo "Error: " . $sql . "Connect failed: " . mysqli_connect_error();

} else {

    $query  = "SELECT * FROM phoneSubscribers";
    // Query the database
    $result = db_isExist($query);

    if ($result) {
        $result = db_fetch($query);
        echo json_encode($result);
    } else {
        echo "No result";
    }


}
?>

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Изменить, как это.Это будет работать.Вы не можете заменить переменную ('variable') в качестве значения. Вам необходимо объявить переменную со значением.

<script>
function doalert() {
  var checkboxElem = document.getElementById("subscribers").checked;
  if (checkboxElem === true) {
  //Read databank for Results
   document.getElementById("to").value = "result  should be here.";
   var dataPhp = '';
   $.ajax({
         type: 'POST',
         url: 'sms/readSubscriber.php',
         data: {variable: dataPhp},
         success : function(r){
           var subscriberNumbers = r.responseText;
            document.getElementById('to').innerHTML = subscriberNumbers;
        }
       });


  } else {
    document.getElementById("to").value = "";
  }

}
</script>
0 голосов
/ 26 июня 2018

Это сделано так, как я хочу

в моей форме:

        $(document).ready(function() {

        var checkboxElem = document.getElementById("subscribers").checked;
  if (checkboxElem === true) {
  //Read databank for Results

                var resp = $("#response");
                $.ajax({
                           type: 'POST',
                url: 'assets/php/readSubscriber.php',
                success: function(data) {
                     document.getElementById('to').value = data;

                }
                });



  } else {
    document.getElementById("to").value = "";
  }


         });



function doalert() {
  var checkboxElem = document.getElementById("subscribers").checked;
  if (checkboxElem === true) {
  //Read databank for Results

                var resp = $("#response");
                $.ajax({
                           type: 'POST',
                url: 'assets/php/readSubscriber.php',
                success: function(data) {
                     document.getElementById('to').value = data;

                }
                });



  } else {
    document.getElementById("to").value = "";
  }

}

в вызываемом php-файле:

<?php
require_once('db_functions.php');

// Connect to the database
$connection = db_connect();
//if connection fails, stop script execution
if (mysqli_connect_errno()) {
    echo "Error: " . $sql . "Connect failed: " . mysqli_connect_error();

} else {

    $query  = "SELECT * FROM phoneSubscribers";
    // Query the database
    $result = db_isExist($query);

    if ($result) {
        $result   = db_fetch($query);
        $jsonData = array();
        while ($row = $result->fetch_assoc()) {
            $jsonData[] = $row['phone'];

        }
        array_walk_recursive($jsonData, function($key, $value)
        {
            echo $key . ', ';
        });
    } else {

    }


}
?>
0 голосов
/ 26 июня 2018

Набор value из textArea (вместо innerHTML)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...