我刚刚写了一些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方法无法从中获取任何价值?
答案 0 :(得分: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 :(得分:0)
好吧所以我解决了,问题是我给输入的ID与标签相同,标签没有价值我想或类似的东西所以我试着在我的JS中更改输入的ID名称它现在正在工作。