getElementById.value and getElementById.value?



关于我的文本框中的这两个值(text,text2),我遇到了一个问题,似乎text2只显示了它的值,有什么方法可以摆脱这些东西吗。任何帮助都将不胜感激。

parameters = ('text=' + document.getElementById('text').value) && ('text2=' + document.getElementById('text2').value;
xmlhttp.open('POST', 'try.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(parameters);
parameters = ('text=' + document.getElementById('text').value) && ('text2=' + document.getElementById('text2').value;

这句话错了。&&的意思不是"连接":它的意思是"逻辑和"。基本上,它的意思是"如果运算符的任何一侧都是错误的,则返回false,否则,返回右侧"。因此,这将始终返回'text2=' + document.getElementById('text2').value,因为这是&&运算符的右侧。

您需要将它们连接起来,因为您在其他情况下非常正确地使用了运算符+

parameters = 'text=' + document.getElementById('text').value + '&' +  'text2=' + document.getElementById('text2').value;

请注意,您可能还应该使用encodeURIComponent来确保您正在发出有效的HTTP请求:

parameters = 'text=' + encodeURIComponent(document.getElementById('text').value) + '&' +  'text2=' + encodeURIComponent(document.getElementById('text2').value);

不要使用&&来连接字符串,请使用+。也有不平衡的括号,并且您在URL字符串中缺少用于分隔参数的"&"。

parameters = 'text=' + document.getElementById('text').value + '&text2=' + document.getElementById('text2').value;

最新更新