ajax之后的javascript空帖?

时间:2016-01-07 12:05:20

标签: javascript jquery ajax

我刚刚写了一些javascript应该这样做之后我点击一个按钮,我的表中的一些标签消失了,一些输入文本出现而不是标签,这一切都有效,然后我创建一个应该做一些东西的按钮,所有这些都是用JS完成的,我创建的按钮应该通过ajax发布,也可以发布,它发布我希望它发布的地方但是在我的帖子应该是的PHP文件中,它们是空的,它们是在那里发布的但是都是空的但它不应该是空的,我不知道为什么...... 这里是si代码:

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方法无法从中获取任何价值?

2 个答案:

答案 0 :(得分:0)

  

使用setAttribute()修改某些属性,尤其是XUL中的值,因为属性指定了默认值,因此工作不一致。要访问或修改当前值,您应该使用属性。例如,使用elt.value而不是elt.setAttribute('value',val)。   您应该使用valueval()函数而不是setAttribute()来分配值,例如:

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

请查看以下帖子 setAttribute() doesn't work the way I expect it to 中接受的答案。

希望这有帮助。

答案 1 :(得分:0)

好吧所以我解决了,问题是我给输入的ID与标签相同,标签没有价值我想或类似的东西所以我试着在我的JS中更改输入的ID名称它现在正在工作。

相关问题