Javascript 如何检查表单输入是否有值

Javascript 如何检查表单输入是否有值,javascript,forms,conditional,Javascript,Forms,Conditional,我试图检查表单输入是否有任何值(不管值是什么),以便在提交时将该值附加到操作URL(如果确实存在)。我需要在添加值之前添加参数的名称,只需留下一个空白的参数名称,如“P=”而不包含任何值,就会把页面搞乱 这是我的密码: function getParam() { // reset url in case there were any previous params inputted document.form.action = 'http://www.domain.com'

我试图检查表单输入是否有任何值(不管值是什么),以便在提交时将该值附加到操作URL(如果确实存在)。我需要在添加值之前添加参数的名称,只需留下一个空白的参数名称,如“P=”而不包含任何值,就会把页面搞乱

这是我的密码:

function getParam() {

// reset url in case there were any previous params inputted

    document.form.action = 'http://www.domain.com'

    if (document.getElementById('p').value == 1) {
        document.form.action += 'P=' + document.getElementById('p').value;
    }

    if (document.getElementbyId('q').value == 1) {
        document.form.action += 'Q=' + document.getElementById('q').value;
    }

}
及表格:

<form name="form" id="form" method="post" action="">
    <input type="text" id="p" value="">
    <input type="text" id="q" value="">
    <input type="submit" value="Update" onClick="getParam();">
</form>

注意:这比检查
value.length
要好,因为
'.length
=3。

如果您的输入字段没有名称,您将不会提交任何内容。true,但在这种情况下,表单仅用于更新url,因为我通过id获取这些输入的值,其实没有必要。您知道可以将方法更改为
GET
,并且这些值将附加到querystring中吗?您应该能够在服务器端毫无问题地处理空值;你什么意思把页面弄乱了?安静地做吧。这似乎起到了相反的作用。当我将字段留空时,它会附加P=而不带任何值(因为它是空的),当我输入某个内容时,它不会附加任何内容。:)如果
if
子句的计算结果为
false
为什么不反转if,因为一个分支将为空?例如
if(!/^\s*$/.test(val)){//…
啊,哈哈。我误解了你测试的目的。我以为你测试的是任何字符(基本上就是CMS所说的)与空字符或空白字符(你清楚地说了,doh!)。非常感谢。作为一个后续问题,在没有其他语句的情况下使用if语句是否是一种不好的做法?@George:随便用,我个人很少使用switch。
switch(value) {
    case document.getElementById('p').value == 1 :
        document.form.action += 'P=' + document.getElementById('p').value; :
    case document.getElementById('q').value == 1 :
        document.form.action += 'Q=' + document.getElementById('q').value; break;
}
var val = document.getElementById('p').value;
if (/^\s*$/.test(val)){
   //value is either empty or contains whitespace characters
   //do not append the value
}
else{
   //code for appending the value to url
}