2015-02-23 88 views
-1

我有一个窗体的问题。我点击Dodaj按钮后没有任何反应。 我的推杆警告对话框时看到它停止,停止后

$.post('dodaj_ztoner.php', post_data, function(response){

我都做过类似的形式有类似的代码(名称及项目的数量不同)和它的工作

alert('post');不显示。所以看起来问题是在这里$.post('dodaj_ztoner.php', post_data, function(response){

的html代码:

<body> 
<div id="dialog" title="Błąd Wprowadzania!">  
    <p>Proszę uzupełnić podświetlone pola.</p> 
</div> 

<div class="container"> 


<fieldset id="contact_form"> 
<h2>Zużycie Tonera</h2> 
<div id="zresult"></div> 
<label for="id"><span>ID</span></label> 
<input type="text" name="zid" id="zid" value="<?php 
    $zapytanie = "select max(id) as id from zuzycie_toner"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    echo $wynik['id']+1; 
    } 
    mysql_free_result($widok); 
    ?>" disabled /> 


<label for="zdata"><span>Data wydania</span></label> 
<input type="text" name="zdata" id="zdata" /> 

<label for="ilwyd"><span>Ilość wydrukowanych</span> </label> 
<input type="text" name="ilwyd" id="ilwyd" /> 

<label for="drukarka"><span>Drukarka</span></label> 
<select type="text" name="zdrukarka" id="zdrukarka" > 
    <option selected="selected">Wybierz</option> 
    <?php 
    $zapytanie = "select nazwa from drukarki order by nazwa"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    echo "<option>$wynik[nazwa]</option>"; 
    } 
    mysql_free_result($widok); 
    ?> 
    </select> 

<label for="toner"><span>Toner</span></label> 
<select type="text" name="ztonery" id="ztonery" > 
    <option selected="selected">Wybierz</option> 
    <?php 
    $zapytanie = "select nazwa from tonery order by nazwa"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    echo "<option>$wynik[nazwa]</option>"; 
    } 
    mysql_free_result($widok); 
    ?> 
    </select> 




<label for="user"><span>Użytkownik</span> </label> 
<select type="text" name="zuser" id="zuser" > 
    <option selected="selected">Wybierz</option> 
    <?php 
    $zapytanie = "select nazwisko_imie as id from uzytkownicy order by nazwisko_imie"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    echo "<option>$wynik[id]</option>"; 
    } 
    mysql_free_result($widok); 
    ?> 
    </select> 




<label><span>&nbsp;</span> 
<button type="submit" class=submit_btn" id="zsubmit_btn">Dodaj</button> 
</label> 

的JavaScript:

<script type="text/javascript"> 
$(document).ready(function() { 
var divObj = $('#dialog'); 
divObj.dialog({ 
autoOpen: false 
} 

);  
$("#zdrukarka").selectmenu(); 
$("#zuser").selectmenu(); 
$("#ztonery").selectmenu(); 
$("#zdata").datepicker(); 
$("button[type=submit]") 
    .button() 
$("#zsubmit_btn").click(function() { 


    //Pobieramy dane 
    var ztoner_id  = $('input[name=zid]').val(); 
    var ztoner_data  = $('input[name=zdata]').val(); 
    var ztoner_wydr  = $('input[name=ilwyd]').val(); 
    var ztoner_toner  = $('select[name=ztonery]').val(); 
    var ztoner_user  = $('select[name=zuser]').val(); 
    var ztoner_drukarka  = $('select[name=zdrukarka]').val(); 



    //Prosta walidacja (kolorujemy na czerwono pole jeśli jest puste 
    var proceed = true; 


alert('1'); 
    //wszystko w porządku idziemy dalej 
    if(proceed) 
    { 
     //Dane do wysłania 
     post_data = {'ztonerID':ztoner_id, 'ztonerWydr':ztoner_wydr,  'ztonerData' :ztoner_data, 'ztonerToner' :ztoner_toner, 
     'ztonerUser':ztoner_user, 'ztonerDrukarka':ztoner_drukarka}; 

     //Przesłanie danych poprzez AJAX 
     $.post('dodaj_ztoner.php', post_data, function(response){ 
alert('post'); 
      //wczytanie danych zwrotnych JSON 
      if(response.type == 'error') 
      { 
       output = '<div class="error">'+response.text+'</div>'; 
      }else{ 
       output = '<div class="success">'+response.text+'</div>'; 


      } 

      $("#zresult").hide().html(output).slideDown(); 
     }, 'json'); 

    } else divObj.dialog("open"); 
}); 

//resetujemy kolorowanie po zaczęciu pisania 

}); 
</script> 

PHP文件:

<?php 

include './includes/html_elements.php'; 


//pokaz_zmienna($_SERVER); 



$db_link = connect_db(); 

if(!$db_link) 
{ 
$out='<p>Brak połączenia z bazą danych</p>'; 
print_page($out, 'Baza książek'); 
exit; 
} 

if($_POST) 
{ 

//Sprawdzamy czy jest to rządanie Ajax, jeśli nie.. 
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND  strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') { 

//Kończymy skrypt wysyłając dane JSON 
$output = json_encode(
array(
'type'=>'error', 
'text' => 'Rządanie musi przejść przez AJAX' 
)); 

die($output); 
} 

//Sprawdzamy czy wszystkie pola zostały wysłane. kończymy skrypt jeśli nie (tutaj dodawaj więcej pól, które są wymagane) 
if(!isset($_POST["ztonerID"])) 
{ 
$output = json_encode(array('type'=>'error', 'text' => 'POLA SĄ PUSTE!')); 
die($output); 
} 

//Pobieramy dane z formularza 
$ztoner_id = filter_var($_POST["ztonerID"], FILTER_SANITIZE_STRING); 
$ztoner_data = filter_var($_POST["ztonerData"], FILTER_SANITIZE_STRING); 
$ztoner_wydr = filter_var($_POST["ztonerWydr"], FILTER_SANITIZE_STRING); 
$ztoner_drukarka = filter_var($_POST["ztonerDrukarka"], FILTER_SANITIZE_STRING); 
$ztoner_toner = filter_var($_POST["ztonerToner"], FILTER_SANITIZE_STRING); 
$ztoner_user = filter_var($_POST["ztonerUser"], FILTER_SANITIZE_STRING); 



//Dodatkowa validacja PHP (tylko dla pól wymaganych) 

if(!is_numeric($ztoner_id)) //sprawdzamy czy telefon jest numeryczny 
{ 
$output = json_encode(array('type'=>'error', 'text' => 'Tylko liczby są dozwolone')); 
die($output); 
} 

die($output); 
    } 


    $zapytanie = "select idd from drukarki where nazwa = '$ztoner_drukarka'"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    $ztoner_drukarka = $wynik['idd']; 
    } 
    mysql_free_result($widok); 



    $zapytanie = "select idu from uzytkownicy where nazwisko_imie = '$ztoner_user'"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    $ztoner_user = $wynik['idu']; 
    } 
    mysql_free_result($widok); 

    $zapytanie = "select idt from tonery where nazwa = '$ztoner_toner'"; 
    $widok = mysql_query($zapytanie); 
    while ($wynik = mysql_fetch_array($widok)) 
    {  
    $ztoner_toner = $wynik['idt']; 
    } 
    mysql_free_result($widok); 




$insert = "Insert INTO zuzycie_toner Values ($ztoner_id, '$ztoner_data', $ztoner_wydr, $ztoner_drukarka, $ztoner_toner, '$ztoner_user')"; 

$wykonaj = mysql_query($insert); 

if ($wykonaj) 
{ 
$output = json_encode(array('type'=>'message', 'text' => 'Dodano '.$drukarki_nazwa.' do tabeli')); 
die($output); 
}else{ 
$output = json_encode(array('type'=>'error', 'text' => 'Dodawanie nie powiodło się '.$insert)); 
die($output); 
} 

} 
?> 
+1

检查您的控制台是否有任何错误并发布 – 2015-02-23 10:31:40

+0

做什么@Gersey告诉并且你知道数据什么是从你的$ .post的变量响应返回的值? – lmarcelocc 2015-02-23 10:33:02

+0

你应该检查你的PHP脚本,你有一个'''太多,所以你会得到一个致命的解析错误。 – jeroen 2015-02-23 10:34:36

回答

1

您的页面不conatains任何形式的标记,因此简单的用

<button class=submit_btn" id="zsubmit_btn">Dodaj</button>,而不是输入类型=提交

这将工作!!!!

+0

现在它工作!谢谢@Prashant Renge – 2015-02-25 11:16:00