2016-01-07 5 views
-2

Я только что написал javascript, который должен сделать это после того, как я нажму кнопку, некоторые ярлыки в моей таблице исчезнут, и вместо ярлыков появляются тексты ввода, все работает, затем я создаю кнопку, которая должна делать что-то, все выполняется с помощью JS, эта кнопка, которую я создаю, должна размещаться через ajax, это тоже работает. Это сообщение, где я хочу, чтобы оно было опубликовано, но в файле PHP, где мой пост должен быть, они пустые, они размещены там, но все пусто, но он не должен быть пустым, и я не знаю, почему ... здесь си код:javascript пустое сообщение после ajax?

function vytvor() { 
    var tlacidlo = document.getElementById("upravit"); 
    tlacidlo.style.display = 'none'; 
    var tabulka = document.getElementById("tabulka"); 
    var divPoh = document.getElementById("pohlaviediv"); 
    var divMeno = document.getElementById("menodiv"); 
    var divPriez = document.getElementById("priezviskodiv"); 
    var divLog = document.getElementById("logindiv"); 
    var labelPoh = document.getElementById("pohlavie"); 
    var divMail = document.getElementById("maildiv"); 
    var divCislo = document.getElementById("cislodiv"); 
    labelPoh.style.display = 'none'; 
    var labelMen = document.getElementById("meno"); 
    labelMen.style.display = 'none'; 
    var labelPriez = document.getElementById("priezvisko"); 
    labelPriez.style.display = 'none'; 
    var labelLog = document.getElementById("login"); 
    labelLog.style.display = 'none'; 
    var labelMail = document.getElementById("mail"); 
    labelMail.style.display = 'none'; 
    var labelCislo = document.getElementById("cislo"); 
    labelCislo.style.display = 'none'; 
    var hodnotaPoh = document.getElementById("pohlavie").textContent; 
    var textPoh = document.createElement("input"); 
    textPoh.setAttribute("type", "text"); 
    textPoh.setAttribute("id", "pohlavie"); 
    textPoh.setAttribute("value", hodnotaPoh); 
    var hodnotaMen = document.getElementById("meno").textContent; 
    var textMen = document.createElement("input"); 
    textMen.setAttribute("type", "text"); 
    textMen.setAttribute("id", "meno"); 
    textMen.setAttribute("value", hodnotaMen); 
    var hodnotaPriez = document.getElementById("priezvisko").textContent; 
    var textPriez = document.createElement("input"); 
    textPriez.setAttribute("type", "text"); 
    textPriez.setAttribute("id", "priezvisko"); 
    textPriez.setAttribute("value", hodnotaPriez); 
    var hodnotaLog = document.getElementById("login").textContent; 
    var textLog = document.createElement("input"); 
    textLog.setAttribute("type", "text"); 
    textLog.setAttribute("id", "login"); 
    textLog.setAttribute("value", hodnotaLog); 
    var hodnotaMail = document.getElementById("mail").textContent; 
    var textMail = document.createElement("input"); 
    textMail.setAttribute("type", "text"); 
    textMail.setAttribute("id", "mail"); 
    textMail.setAttribute("value", hodnotaMail); 
    var hodnotaCislo = document.getElementById("cislo").textContent; 
    var textCislo = document.createElement("input"); 
    textCislo .setAttribute("type", "text"); 
    textCislo .setAttribute("id", "cislo"); 
    textCislo .setAttribute("value", hodnotaCislo); 
    var uloz = document.createElement("input"); 
    uloz.setAttribute("type", "button"); 
    uloz.setAttribute("value", "Ulož zmeny"); 
    uloz.setAttribute("onclick", "ukaz()"); 
    tabulka.appendChild(uloz); 

    divPoh.appendChild(textPoh); 


    divMeno.appendChild(textMen); 
    divPriez.appendChild(textPriez); 
    divLog.appendChild(textLog); 
    divMail.appendChild(textMail); 
    divCislo.appendChild(textCislo); 
    tabulka.document.body.appendChild(divPoh); 
    tabulka.document.body.appendChild(divMeno); 
    tabulka.document.body.appendChild(divPriez); 
    tabulka.document.body.appendChild(divLog); 
    tabulka.document.body.appendChild(divMail); 
    tabulka.document.body.appendChild(divCislo); 
} 

Создание, который вводит вместо меток (я знаю, что это может быть сделано очень легко) и это мой пост-функция

function ukaz() { 

    var meno = $('#meno').val(); 
    var priezvisko= $('#priezvisko').val(); 
    var login = $('#login').val(); 
    var mail=$('#mail').val(); 
    var cislo=$('#cislo').val(); 

    $.post("uloz.php", { 
      'login':login, 
      'meno':meno, 
      'priezvisko':priezvisko, 
      'mail':mail, 
      'cislo':cislo 
     }); 
     function (data) { 
      $('#result').html(data); 

     }; 


} 

его публикуют, но все пусто. Что мне не хватает?

echo '<table id="tabulka">'; 
       echo '<tr><td><label for="pohlavie" >Pohlavie:</label></td><td><div id="pohlaviediv"><label id="pohlavie" for="pohlavie">' . $pohlavie . '</label></div></td></tr>'; 
       echo '<tr><td><label for="meno" >Meno:</label></td><td> <div id="menodiv"><label id="meno" for="meno">' . $meno . '</label></div></td></tr>'; 

       echo '<tr><td><label for="priezvisko" >Priezvisko:</label></td><td><div id="priezviskodiv"> <label id="priezvisko" for="priezvisko">' . $priezvisko . '</label></div></td></tr>'; 

       echo '<tr><td><label for="login" >Login:</label></td><td><div id="logindiv"><label id="login" for="login">' . $login . '</label></div></td></tr>'; 
       echo '<tr><td><label for="mail" >E-mail:</label></td><td><div id="maildiv"><label id="mail" for="mail">' . $mail . '</label></div></td></tr>'; 
       echo '<tr><td><label for="cislo" >Tel. číslo:</label></td><td><div id="cislodiv"><label id="cislo" for="cislo">' . $cislo. '</label></div></td></tr>'; 
echo '</table>'; 

Это моя таблица в HTML, не правда проблемы с добавлением этих элементов в JavaScript для HTML тела? и что элементы появляются на моей странице, но там действительно не установлено, и тогда мой метод ajax не может получить от него никакой ценности?

+0

Вы используете массив '$ _POST' в php? – jcubic

+0

да в начале этого документа php у меня есть echo $ _POST ["meno"]; на нем ничего не печатается, но он публикуется здесь, потому что в этом документе php я обновляю свою базу данных, записывая то, что я отправляю туда, и после того, как я нажму на эту кнопку, база данных обновляется с пустыми значениями – eraz

+0

, и я сделал что-то вроде этого beffore. в моей таблице несколько строк и ячеек с ячейками вставки и вставки, а затем я сделал какую-то кнопку, которая размещала значения с идентификаторами, которые были установлены в JS, и это работает, поэтому я путаю – eraz

ответ

0

Использование setAttribute() для изменения определенных атрибутов, особенно значение в XUL, работает непоследовательно, поскольку атрибут указывает значение по умолчанию. Чтобы получить доступ или изменить текущие значения, вы должны использовать свойства. Например, используйте elt.value вместо elt.setAttribute ('value', val). следует присвоить значение, используя value или val() функции вместо setAttribute(), например:

element.value = 'value'; 
//Or 
$(element).val('value'); 

Посмотрите на принятый ответ на следующий пост setAttribute() doesn't work the way I expect it to.

Надеюсь, это поможет.

+1

спасибо за ответ, но setAttribute is я имею в виду, что после того, как ярлык исчез и мой текст типа ввода появляется, он создает значение, которое я хотел бы иметь, но когда я переписал его и отправлю, щелкните по кнопке, которая была создана в этом JS, и она отправляется через ajax post to uloz.php, он отправляется туда, но он отправляется туда пустым, поскольку я ничего не написал внутри этого ввода – eraz

0

Итак, я решил, что проблема заключалась в том, что я дал входным данным тот же идентификатор, что и метки, и метки не имеют значения, я думаю, или что-то в этом роде, поэтому я попытался изменить имя идентификаторов для ввода в моем JS, и теперь он работает.

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