2013-11-15 3 views
1

моя проблема заключается в следующем: Я создал веб-страницу с помощью div. Через Onlick по ссылке я заполняю div выходным файлом PHP-файла (MySQL-Querys). Этот PHP-сайт вызывается функцией XMLHttpRequest в JavaScript. На PHP-сайте я хочу использовать jQuery для запрета/включения кнопок и текстовых полей. Эти запросы jQuery не работают. Если я вызову PHP-сайт непосредственно в браузере, все будет работать нормально. Где моя ошибка?AJAX/jquery не работает на возвращенном PHP-сайте

JavaScript для вызова PHP-сайт и заполнить DIV:

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-Part:

$(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"); 
     } 
    }); 
}); 
+2

ждите. Вы использовали jQuery для эффектов, но не используете его в ajax-запросе? – Raptor

+0

Как сказал Шиван, загляните в '$ .ajax' –

+0

Я вижу, вы отредактировали свой вопрос и включили« Ajax-part ». Могу ли я указать, что это не Ajax? Посмотрите здесь http://api.jquery.com/jQuery.ajax/ –

ответ

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 и ограничение на ваш код. удачи.

+0

, но как я могу назвать это, нажав на ссылку? – JonesK

+0

@jonesk только в trigger.' $ ('a'). Click (function() {...}); ' – Stephan

+0

... но у меня есть список имен серверов, получаемых из базы данных mysql. на данный момент у меня есть onclick для каждой ссылки на функцию. К этой функции я даю идентификатор сервера. эта функция вызывает скрипт php, который возвращает данные, специфичные для сервера. как это сделать в ajax? – JonesK

Смежные вопросы