0

<select>こんにちは、いくつかのオプションを選択すると、選択したオプションがAjaxを使用してデータベース内に書き込まれるメニューを作成しようとしています。これまでに達成したことは次のとおりです。

これは私の選択メニューです:

  <select name="status">
  <option value="">Select option:</option>
  <option value="aproved">aproved</option>
  <option value="canceled">canceled</option>
  </select>

変更を選択して、データベース接続と UPDATE クエリがあるバックエンド php ファイルに送信する必要がある私の Java スクリプトを次に示します。目標は、ユーザーが選択を行った結果、ボタンを押したり、他に何もする必要なくデータベース内に移動することです。

    <script>
$(document).ready(function(e) {
$('select[name=status]').change(function(){

      selectstatus = $("select[name=status]").val();   

        $.ajax({
        type: "POST",
        url: "selectbackend.php",
        data: {"selectstatus": selectstatus
       },
        })
        .done(function(data, textStatus, jqXHR){alert(textStatus);})
        .fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
});//end change
});//end ready
</script>

しかし、それは動作しておらず、エラーが発生しています.Javaスクリプトが何らかの形で動作していないのではないかと疑っています.

ここにバックエンドファイルがあります:

<?php
$selectstatus = $_POST['selectstatus'];
$cxn = mysqli_connect($host,$user,$password,$dbname);
if (mysqli_connect_errno()) {echo "No connection" . mysqli_connect_error();}

    $query = " UPDATE test
           SET var = '$slectstatus'
           WHERE id='1";
4

2 に答える 2

0

これを試して:

<script>
$(document).ready(function(e) {
$('select[name=status]').change(function(){

      selectstatus = $("select[name=status]").val();   

        $.ajax({
        type: "POST",
        url: "selectbackend.php",
        contentType: "application/json; charset=utf-8",
        dataType: "json",       
        data: JSON.stringify({"selectstatus": selectstatus}),
        })
        .done(function(data, textStatus, jqXHR){alert(textStatus);})
        .fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
});//end change
});//end ready
</script>
于 2013-10-04T19:00:15.570 に答える
0
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<html>
    <select id="status" name="status">
       <option value="">Select option:</option>
       <option value="aproved">aproved</option>
       <option value="canceled">canceled</option>
    </select>
</html>

<script>

$(document).ready(function(){
    $('#status').change(function(){

    //var selectstatus = $("select[name=status]").val();   

    $.ajax({
        type: "POST",
        url: "selectbackend.php",
        data: {"selectstatus": $(this).val()},
    })
    .done(function(data, textStatus, jqXHR){alert(textStatus);})
    .fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--                                      +errorThrown);});
});//end change
});//end ready
</script>

それで:

<?php
$selectstatus = addslashes($_POST['selectstatus']);
$cxn = mysqli_connect($host,$user,$password,$dbname);
if (mysqli_connect_errno()) {echo "No connection" . mysqli_connect_error();}

$query = " UPDATE test
       SET var = '$selectstatus'
       WHERE id='1'";
于 2013-10-04T19:19:29.870 に答える