2016-09-25 9 views
0

私はあなたの回答を前もって感謝します。照会にIDが送信されない

私はいくつかの注文ページを持っていますが、私はそれを修正することで、他のものを修正するのに十分な知識を私に提供することができます。この場合は、daytasks.phpセクションを表示します。基本的には、最初の行に機能を変更することはできますが、2行目、3行目などの行は変更できません。機能ボタンを使用すると、その行には何も行われません。 daytasks.phpfetchdaytasks.phpを呼び出し、./functions/additions.jsを呼び出してJavascriptを実行する必要があります.Javascriptは、スクリプトに対応する機能を呼び出して要求された処理を実行します。

私は2つの命令を持っています。それぞれ<tr>があります。最初の行はID#28ですが、2番目の行ID#35は変更できません。 additions.js

$("#btn_ship").click(function(){ 
var changeid = $(this).data('id');  
var myData={"changeid":changeid}; 
$.ajax({ 
    url : "./functions/shiporder.php", 
    type: "POST", 
    data : myData, 
    success: function(data,status,xhr) 
    { 
     $("#status_text").html(data); 
     $('#changeid').val(); 
    } 
}); 
}); 

$("#btn_fbo").click(function(){ 
var changeid = $('#changeid').val();  
var myData={"changeid":changeid}; 
$.ajax({ 
    url : "./functions/fboorder.php", 
    type: "POST", 
    data : myData, 
    success: function(data,status,xhr) 
    { 
     $("#status_text").html(data); 
     $('#changeid').val(); 
    } 
}); 
}); 

./functions/fboorder.php

fetchdaytasks.php

if(mysqli_num_rows($result) > 0) 
{ 
    while($row = mysqli_fetch_array($result)) 
    { 
     $id=$row['id']; 
     $orderdate=$row['date']; 
     $order=$row['order']; 
     $status=$row['status']; 
echo " 
       <td><center>$id</center></td> 
       <td><center>$orderdate</center></td> 
       <td><center>$order</center></td> 
       <td><center>$status</center></td> 
       <form> 
       <td><center><button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button> <button type='button' name='btn_unship' id='btn_unship' class='btn btn-xs btn-danger btn_delete'>UNSHIP</button> <button type='button' name='btn_bo' id='btn_bo' class='btn btn-xs btn-danger btn_delete'>BACKORDER</button> <button type='button' name='btn_fbo' id='btn_fbo' class='btn btn-xs btn-danger btn_delete'>FBO</button><br /> 
      <button type='button' name='btn_cancel' id='btn_cancel' class='btn btn-xs btn-danger btn_delete'>CANCEL</button> <button type='button' name='btn_return' id='btn_return' class='btn btn-xs btn-danger btn_delete'>RETURN</button> <button type='button' name='btn_dam' id='btn_dam' class='btn btn-xs btn-danger btn_delete'>DAMAGED</button> <button type='button' name='btn_lost' id='btn_lost' class='btn btn-xs btn-danger btn_delete'>LOST</button></td> 
      </form> 
      </tr> 
      "; 
    } 
} 
else 
{ 
    echo "No Orders For This Date"; 
} 

部分のdaytasks.php

<div class="form-group"> 
       <br /> 
       <center> 
        <div class="input-group"> 
         <input type="date" id="search_text" name="search_text" /> 
        </div> 
        <div id="result"></div> 
       </center> 
</div> 

部分の

部分

<?php 
include_once('/home/brandina/public_html/eldis/config/config.php'); 
$changeid = $_POST['changeid']; 
if(mysqli_query($connect, "UPDATE `orders` SET `status`='FBO' WHERE `id`='$changeid'")) 
?> 

./functions/shiporder.php

<?php 
include_once('/home/brandina/public_html/eldis/config/config.php'); 
$changeid = $_POST['changeid']; 
if(mysqli_query($connect, "UPDATE `orders` SET `status`='SHIP' WHERE `id`='$changeid'")) 
?> 

答えて

2

あなたはfetchdaytasksでループしているので、この行が繰り返されます。 <input type='hidden' id='changeid' name='changeid' value='$id' />

あなたが 'changeid' の "ID" を持つ複数の要素を持っているだろうことを意味します。あなたのJSであなたが持っているvar changeid = $('#changeid').val(); これはあなたが話している#changeidを知りません。

私は隠された入力を取り除き、 "data-XXX"で作業し、ボタンまたはフォームに入力します。その後、

ので<button type='button' name='btn_ship' id='btn_ship' class='btn btn-xs btn-success' data-id='$id'>SHIP</button>または<form data-id='$id'>

などJSでIDを取得する:あなたがボタンの上にそれを行う場合には var changeid = $(this).data('id);

+1

ほぼ正しい。同じidを持つhtml要素が複数ある場合、getElementById()は要素の1つを返します。どちらが1つ(通常は最初から1番目)であるかは不定です。 – Shadow

+0

私は両方のあなたのコメントをいただきありがとうございます。私のためにJSコードを作成するように依頼するのではなく、あなたが提供したデータIDで作業できるようにJSスクリプトを修正する手助けができますか?私はこのオプションがうまくいくと思っていました。私が手にしていた以前のスクリプトに基づいて試してみましたが、失敗しました。 –

+0

私はいくつかのコードを含むように私の答えを編集しました。 – Omnisite

関連する問題