ajax后的javascript空帖子
javascript empty post after 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方法无法从中获得任何值?
好的,所以我解决了这个问题,问题是我给输入的ID与标签的ID相同,标签没有我想的值或类似的东西,所以我试图在JS中更改输入的ID名称,现在它开始工作了。
使用setAttribute()修改某些属性(尤其是XUL中的值)的工作不一致,因为该属性指定默认值。若要访问或修改当前值,应使用属性。例如,使用elt.value而不是elt.setAttribute('value',val)。您应该使用
value
或val()
函数而不是setAttribute()
来分配值,例如:
element.value = 'value';
//Or
$(element).val('value');
看看下面文章中接受的答案setAttribute()并没有按我预期的方式工作。
希望这能有所帮助。
相关文章:
- RegEx JavaScript:数字后的符号提取
- 使用JAVASCRIPT转换货币.可以't通过我的函数设置转换后的输入文本字段的值
- 在指定时间后多次调用Javascript中的函数
- javascript将html实体条目发布后的下一个字母大写
- 加载页面后的JavaScript if语句
- 触发后的 Javascript 顺序执行
- 如何从输入 JQuery 或 javascript 中获取修改后的文本
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- UIWebview在页面上执行注入的JavaScript后的屏幕截图
- 选择文件后的 Javascript 代码
- 替换函数后的Javascript比较字符串不起作用
- 在windowsphone javascript中visted一次后的非活动窗体
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- 在自动填充后,在UIWebView中执行Javascript后验证Label的长度
- 删除Javascript中小数后的数字
- javascript eval删除问号后的所有内容
- 登录Javascript后的Facebook空白页
- 将逗号javascript后的最后两个数字四舍五入
- 使用KJSCompiler编译javascript后的JSCOMPILER_PRESERVE
- 参数列表/Javascript后的未捕获语法错误:缺少)