1

私の問題は次のとおりです。div を使用して Web ページを設計しました。リンクの Onlick を介して、div に PHP ファイル (MySQL クエリ) の出力を入力します。この PHP サイトは、JavaScript の XMLHttpRequest 関数によって呼び出されます。PHP サイトでは、jQuery を使用してボタンとテキストエリアを無効/有効にしたいと考えています。これらの jQuery リクエストは機能しません。ブラウザで PHP サイトを直接呼び出すと、すべて正常に動作します。私の間違いはどこですか?

PHP サイトを呼び出して div を埋める JavaScript:

function selected_...(nr)
{
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("right_details_content").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","/.../ajax_querys.php?id=selected_...&nr="+nr,true);
  xmlhttp.send();
}

PHP サイトの出力:

if($row['anwendung'] == "...") {
            echo "<span>name:</span><input type=\"text\" id=\"name\" name=\"servername\" value=\"" . $row['rechner'] . "\" disabled><br><br>";
            echo "<span>wort:</span><input type=\"text\" id=\"word\" name=\"password\" value=\"" . $word . "\" disabled><br><br>";
            echo "<span>Bemerkung:</span><textarea id=\"right_details_content_textarea\" rows=\"5\" name=\"bemerkung\" disabled>" . $row['bemerkung'] . "</textarea><br><br><br><br><br>";
            echo "<input type=\"hidden\" name=\"nr\" value=\"" . $row['nr'] . "\"><br>";
            echo "<div class=\"left\"><input type=\"button\" id=\"edit\" name=\"edit\" value=\"bearbeiten\"><input type=\"button\" id=\"cancel\" name=\"cancel\" value=\"abbrechen\" style=\"display: none;\"></div>";
            echo "<div class=\"center\"><input type=\"button\" id=\"save\" name=\"save\" value=\"speichern\" disabled></div>";
            echo "<div class=\"right\"><input type=\"button\" id=\"delete\" name=\"delete\" value=\"l&ouml;schen\"></div>";

Ajax パート:

$(document).ready(function () {
// alert('Fertig');
    $("#edit").click(function(){
// alert('Click');
        if($("#save").attr("disabled")) {
            $("#name").removeAttr("disabled");
            $("#word").removeAttr("disabled");
            $("#right_details_content_textarea").removeAttr("disabled");
            document.getElementById("edit").style.display = "none";
            document.getElementById("cancel").style.display = "inline";
            $("#save").removeAttr("disabled");
        }
    });
});
4

1 に答える 1

0

なんという大量の質問。jquery を使用しているので、$.ajax を使用してサーバーをリクエストする方がよいと思います。

このようなもの:

    $.ajax({
        url: "/.../ajax_querys.php?id=selected_...&nr=",
        type: "GET",
        processData: false,
        contentType: false,
    }).done(function(res){
      console.log(res);
      $("#right_details_content").html(res);
    }).fail(function(err){
       console.log(err);
    });                 
    });

これを確認してください。それでもうまくいかない場合は、リクエスト URL とコードの制限を確認してください。幸運を。

于 2013-11-15T08:43:20.277 に答える