سؤال

لدي مشكلة مع البرنامج النصي التالي.فإنه ينشئ قائمة الأماكن التي للتحرير ، deletable أو حتى يمكنك إنشاء واحدة جديدة.

اريد ارسال $.آخر طلب عند إنشاء مكان جديد ملف php الذي يجعل الدخول إلى قاعدة البيانات (MySQL) ثم يسرد هذا entryes في html.الآن لماذا لا دولار.بعد إرسال رسالة تنبيه إلى notifi لي أن البيانات تم إرسالها ؟

السيناريو لم تنتهي بعد كيف ترون ، ولكن سيكون أمرا رائعا إذا كنت يمكن أن تساعدني!

JS-Script

 $(function() {
      $(".edit").click(function() {
        $(this).css("display","none").prevAll(".place_name").css("display","none").prevAll(".inputfield_td").css("display","block").nextAll(".cancel").css("display","block").nextAll(".save").css("display","block").prevAll(".inputfield_td").css("display","block");
      });
      $(".cancel").click(function() {
        $(this).css("display","none").prevAll(".edit").css("display","block").prevAll(".place_name").css("display","block").prevAll(".inputfield_td").css("display","none").nextAll(".save").css("display","none");
      });
      $(".save").click(function() {
        var myvariable1 = $(this).siblings().find("input[type=text]").val();
        var myvariable2 = $(this).prevAll("td:last").attr("id");
        $(this).css("display","none").prevAll(".cancel").css("display","none").prevAll(".edit").css("display","block").prevAll(".place_name").css("display","block").prevAll(".inputfield_td").css("display","none");
        alert("save name: "+myvariable1+" save id: "+myvariable2);    
      });
      $(".delete").click(function() {
        var myvariable3 = $(this).prevAll("td:last").attr("id");
        alert(myvariable3);
      });
      $(".new").click(function() {
        var myvariable4 = $(this).prevAll("input[type=text]").val();
          $.post("place_list.php", {action: "create", name: myvariable4}, function(data){
            alert("Data Loaded: " + data);
          },"html");
        alert(myvariable4);
      });
    }); 

PHP-ملف

<?php
  require_once "../../includes/constants.php";
  // Connect to the database as necessary
  $dbh = mysql_connect(DB_SERVER,DB_USER,DB_PASSWORD)
    or die ("Unaable to connnect to MySQL");

  $selected = mysql_select_db(DB_NAME,$dbh)
    or die("Could not select printerweb");

    echo "<table><tbody>";
    $result = mysql_query("SELECT * FROM place");
    while ($row = mysql_fetch_array($result)) {
      echo "<tr><td id=".$row["id"]." class=inputfield_td><input class=inputfield_place type=text value=".$row["name"]." /></td><td class=place_name>".$row["name"]."</td><td class=edit>edit</td><td class=cancel>cancel</td><td class=delete>delete</td><td class=save>SAVE</td></tr> \n";
    }
    echo "</tbody>";
    echo "</table>";
    echo "<input type=text class=inputfield_visible />";
    echo "<button class=new>New</button>";
?>
هل كانت مفيدة؟

المحلول

هل لديك فايرفوكس الحرائق المثبتة ؟ إذا كان يمكنك عرض net ومعرفة ما إذا كان طلب post يحصل إلى place_list.php و أيضا ما رد.وأظن أنه هو 404 التعرف على مسار ربما غير صحيحة.يمكنك دائما استخدام .اياكس الطريقة بدلا من .ما بعد.هذا يسمح لك بتحديد خطأ في الطريقة التي يحصل ودعا فشل طلب اياكس.

هـ.ز

$.ajax({
  url : "place_list.php",
  data : {action: "create", name: myvariable4},
  cache : false,
  error : function(XMLHttpRequest, textStatus, errorThrown){
     //console.log or alert error
     alert(errorThrown);
  },
  success: function(html){
     alert("Data Loaded: " + data);
  }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top