getElementById.value和getElementById.value?

时间:2012-01-09 18:24:35

标签: javascript ajax

我对我的文本框(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);

2 个答案:

答案 0 :(得分:0)

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

这条线错了。 &&并不意味着“连接”:它意味着"logical and"。基本上,它意味着“如果操作员的任何一方是假的,则返回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);

答案 1 :(得分:0)

不要使用&&来连接字符串,请使用+。还有不平衡的括号,你错过了“&”在URL字符串中分隔您的参数。

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