0

入力に基づいて選択ボックスからデータを本質的に引き出し、選択に基づいて変数を非表示/表示するJQueryスクリプトに取り組んでいます(現在データをテストしています)

JQUERYが値を更新および更新する限り、スクリプトは機能しています。私の現在の問題は、他のステップで使用するために変数を渡すことができないように見えることです。

これが私がこれまでに持っているものです。今、変数を次のステップに渡す際に問題があります。

これは JQuery/HTML セクションです。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
  // When the form is submitted to PHP Call
  $('#crs').submit(function() {
    // Get form data ready for PHP Call
    var Sphone = $('#crs #Sphone').val();
    var Schat = $('#crs #Schat').val();
    var Smeet = $('#crs #Smeet').val();
    var Sremo = $('#crs #Sremo').val();
    var Sport = $('#crs #Sport').val();
    var Smail = $('#crs #Smail').val();
    var Svoic = $('#crs #Svoic').val();
    var Sfax = $('#crs #Sfax').val();


    // put form data in a JSON format that will be sent to the PHP File
    var data_json = {'Sphone':Sphone, 'Schat':Schat, 'Smeet':Smeet, 'Sremo':Sremo, 'Sport':Sport, 'Smail':Smail, 'Svoic':Svoic, 'Sfax':Sfax};

    // Set AJAX method
    // If succeeds, goes to the  next step
    $.ajax({
      type: 'post',
      url: 'script.php',
      data: data_json,
      beforeSend: function() {
        // before send the request, displays a "Loading..." messaj in the element where the server response will be placed
        $('#resp').html('Loading...');
      },
      timeout: 10000,        // sets timeout for the request (10 seconds)
      error: function(xhr, status, error) { alert('Error: '+ xhr.status+ ' - '+ error); },
      success: function(response) { $('#resp').html(response); }
    });

    return false;      // required to not open the page when form is submited
  });
});
--></script>
</head>
<body>
<div id="resp"></div>
<h4>Fill the form:</h4>
<form action="script.php" method="post" id="crs">
Phone Support: <select name="Sphone" id="Sphone">
  <option value="Pen1">Yes</option>
  <option value="">No</option>
   </select><br />

Live Chat Support: <select name="Schat" id="Schat">
  <option value="Pen2">Yes</option>
  <option value="">No</option>
   </select><br />

Live Meeting: <select name="Smeet" id="Smeet">
  <option value="Pen3">Yes</option>
  <option value="">No</option>
   </select><br />
Remote Support: <select name="Sremo" id="Sremo">
  <option value="Pen3">Yes</option>
  <option value="">No</option>
   </select><br />
Ticket By Portal: <select name="Sport" id="Sport">
  <option value="Pen3">Yes</option>
  <option value="">No</option>
   </select><br />

Ticket By Email: <select name="Smail" id="Smail">
  <option value="Pen3">Yes</option>
  <option value="">No</option>
   </select><br />

Ticket By Voicemail: <select name="Svoic" id="Svoic">
  <option value="Pen3">Yes</option>
  <option value="">No</option>
   </select><br />

Ticket By Fax: <select name="Sfax" id="Sfax">
  <option value="Pen3">Yes</option>
  <option value="">No</option>
   </select><br />

 <input type="submit" value="submit" />
</form>

これは PHP セクションです。

if(isset($_POST['Sphone']) && isset($_POST['Schat']) && isset($_POST['Smeet']) && isset($_POST['Sremo']) && isset($_POST['Sport']) && isset($_POST['Smail']) && isset($_POST['Svoic']) && isset($_POST['Sfax'])) {
  $_POST = array_map("strip_tags", $_POST);       // Gets rid of tags in POST Call

  // get data
  $Sphone = $_POST['Sphone'];
  $Schat = $_POST['Schat'];
  $Smeet = $_POST['Smeet'];
  $Sremo = $_POST['Sremo'];
  $Sport = $_POST['Sport'];
  $Smail = $_POST['Smail'];
  $Svoic = $_POST['Svoic'];
  $Sfax = $_POST['Sfax'];

// Define Full Output of variable   
  $arrow ='<textarea name="supportArticle" cols="160" rows="15" wrap="virtual">'.$Sphone.' <br> '.$Schat.' <br> '.$Smeet.' <br> '.$Sremo.' <br> '.$Sport.' <br> '.$Smail.' <br> '.$Svoic.' <br> '.$Sfax.'</textarea>';
   function passVariable($arrow)
    {
    return $arrow or die(mysql_error());
    }
  }
echo $arrow; 

この上にさらにコードがありましたが、それは単なるデータベース接続などです.

これは、変数を変更するのにうまく機能します。現在、ペン 1、ペン 2 などをプレースホルダーとして使用しています (間に休憩があります)。

これをすべて 1 つのファイルにまとめたいと思います。これを $arrow という名前の変数でテストしましたが、この変数をエコーし​​ません (DIE エラーを追加してから削除しました)。

4

0 に答える 0