2017-08-10 96 views
0

即時通訊嘗試通過一個JS變量(我得到的價值,當用戶在選擇下拉菜單中選擇一個隨機選項)到一個PHP變量,所以我可以檢查選定的選項的屬性在我的數據庫中。 選項是AD的名稱,值實際上是其在數據庫中的ID。 當用戶選擇一個選項方法getSelected()被調用。在這種方法中,我首先嚐試使用AJAX將存儲在js中的ID值(value = e.options [e.selectedIndex] .value;)傳遞給PHP變量。我寫的文件實際上是「uredi.php」。所以我想知道我在這裏做錯了什麼。我願意接受任何建議。 我創建一個選擇框與PHP的工作正常。 的問題是錯誤:傳遞JavaScript變量到PHP與AJAX不起作用

Undefined index: suggestion in C:\xampp\htdocs\mod\sub\uredi.php on line 38

這裏是代碼:

<body> 
    <div class="generalBox"> 
     <form class="generalForm" action="" method="POST"> 
      <label class="headLabel">UREDI</label> 
      <br> 
      <br> 
      <script> 
      var value; 
      var opis; 
      var datumz; 
      var datumk; 
      var pr; 
      var format; 
       document.write(<?php echo json_encode(getCurrentAds()); ?>); 

       function getSelected(){ 

        var e = document.getElementById("ogSelect"); 
        value = e.options[e.selectedIndex].value; 
        console.log(value); 

        $.post("uredi.php", { 
         suggestion: value 
        }, function(data, status){ 
         $("#test").html(data); 
        }); 

        <?php $id = $_POST['suggestion']; ?> 
        } 
       } 
      </script> 
      <br> 
      <br> 
      <input class="inputTextSub" id="opisE" name="opisE" type="text"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="datumzE" name="datumzE" type="date"> 
      <br> 
      <br> 
      <input class="inputTextSub" id="datumkE" name="datumkE" type="date"> 
      <br> 
      <br> 
      <label class="inputTextSub">prioriteta</label> 
      <select class="inputSelSub" id="prE"> 
       <option value=1>1</option> 
       <option value=2>2</option></select> 
      <br> 
      <br> 
      <label class="inputTextSub">format</label> 
      <select class="inputSelSub" id="formatE"> 
       <option value=1>A3</option> 
       <option value=2>A4</option></select> 
      <br> 
      <br> 
      <input type="file" name="fileE" id="fileE" class="inputfile" /> 
      <br> 
      <br> 
      <p id="test" class="inputTextSub"></label> 
      <input class="button" style="margin-top:2em;" name="saveE" type="submit" value=" shrani "> 
     </from> 
    </div> 
</body> 

這裏,如果你想知道的getCurrentAds() ...

function getCurrentAds(){ 
$dropDown=''; 
$query = 'SELECT `oglas_id`,`naziv` FROM `deska` WHERE `mod_id`='.$_SESSION['mod_id'].';'; 
$result = mysqli_query($GLOBALS['conn'],$query); 
$rows = mysqli_num_rows($result); 
if($rows > 0){ 
    $dropDown = '<select onclick="getSelected()" class="inputSelAds" id="ogSelect" name="ogSelect">'; 
    while($row = mysqli_fetch_assoc($result)){ 
      $dropDown = $dropDown.'<option value="'.$row['oglas_id'].'">'.$row['naziv'].'</option>'; 
    } 
    $dropDown = $dropDown.'</select>'; 
}else{ 
    $dropDown = '<select><option value=""></option></select>'; 
} 
return $dropDown;} 
+0

@JonStirling我知道這裏有很多東西,但沒有幫助我。我不會發布這個,除非我真的被卡住 –

回答

0

我感到困惑的線<?php $id = $_POST['suggestion']; ?>。 這是應該在$id POST變量suggestion,這裏沒有定義(你可以檢查它與if(isset($_POST['suggestion'])){ /* ... */ })。然而,沒有輸入name="suggestion",所以即使提交表單後,您也會收到未定義的索引錯誤。您想在$id中獲得什麼輸入值?

+0

看看$ .post()從哪裏我定義我在哪裏定義建議作爲變量發佈到服務器 –