Javascript 单选按钮验证导致其余验证失败

Javascript 单选按钮验证导致其余验证失败,javascript,forms,radio-button,validation,Javascript,Forms,Radio Button,Validation,无线电验证工作正常,但其他的就不行了。我做错了什么 function validateRadio(radios) { for (i = 0; i < radios.length; ++i) { if (radios[i].checked) return true; } return false; } function validateForm() { if (validateRadio(document.forms["pancettaFor

无线电验证工作正常,但其他的就不行了。我做错了什么

function validateRadio(radios) {
    for (i = 0; i < radios.length; ++i) {
        if (radios[i].checked) return true;
    }
    return false;
}

function validateForm() {
    if (validateRadio(document.forms["pancettaForm"]["updateShip"])) {
        return true;
    } else {
        alert("Please tell us how you would like to update your order.");
        return false;
    }
}

var x = document.forms["pancettaForm"]["order-number"].value;
if (x == null || x == "") {
    alert("Please provide your order number.");
    return false;
}
var x = document.forms["pancettaForm"]["full-name"].value;
if (x == null || x == "") {
    alert("Please provide your full name, or the recipients name if you are updating shipping information.");
    return false;
}
var x = document.forms["pancettaForm"]["phone"].value;
if (x == null || x == "") {
    alert("Please provide a phone number in case of delivery questions.");
    return false;
}
var display = document.getElementById('address').style.display;
if (display == 'block') {
    var x = document.forms["pancettaForm"]["address"].value;
    if (x == null || x == "") {
        alert("Please provide your address.");
        return false;
    }
}
var display = document.getElementById('city').style.display;
if (display == 'block') {
    var x = document.forms["pancettaForm"]["city"].value;
    if (x == null || x == "") {
        alert("Please provide your city.");
        return false;
    }
}
var display = document.getElementById('state').style.display;
if (display == 'block') {
    if (document.pancettaForm.state.value == "- Select State -") {
        alert("Please provide your state.");
        return false;
    }
}
var display = document.getElementById('zip').style.display;
if (display == 'block') {
    var x = document.forms["pancettaForm"]["zip"].value;
    if (x == null || x == "") {
        alert("Please provide your zip code.");
        return false;
    }
}
var display = document.getElementById('newShipDate').style.display;
if (display == 'block') {
    if (document.pancettaForm.state.value == "- Select Date -") {
        alert("Please choose your new shipping date.");
        return false;
    }
}
function validateRadio(无线电){
对于(i=0;i
只需反转测试,就不必返回

    if(!validateRadio (document.forms["pancettaForm"]["updateShip"]))
            {
                alert("Please tell us how you would like to update your order.");
                return false;
            }

   // continue
在无线电测试之后,你有了尾端括号,所以脚本的其余部分只是漂浮在网络空间中

最后只返回一次true,不需要多次使用var x,并且在访问表单元素的方式上保持一致,我还修复了日期测试,它是测试状态

function validateForm() {
  var x,display,form = document.forms["pancettaForm"];
  if (!validateRadio(form["updateShip"])) {
    alert("Please tell us how you would like to update your order.");
    return false;
  }

  x = form["order-number"].value;
  if (x == null || x == "") {
    alert("Please provide your order number.");
    return false;
  }
  x = form["full-name"].value;
  if (x == null || x == "") {
    alert("Please provide your full name, or the recipients name if you are updating shipping information.");
    return false;
  }
  x = form["phone"].value;
  if (x == null || x == "") {
    alert("Please provide a phone number in case of delivery questions.");
    return false;
  }
  display = form["address"].style.display; 
  if (display == 'block') {
    x = form["address"].value;
    if (x == null || x == "") {
        alert("Please provide your address.");
        return false;
    }
  }
  display = form["city"].style.display;
  if (display == 'block') {
    x = form["city"].value;
    if (x == null || x == "") {
        alert("Please provide your city.");
        return false;
    }
  }
  display = form['state'].style.display;
  if (display == 'block') {
   x = form['state'].value;
    if (x == "- Select State -") {
        alert("Please provide your state.");
        return false;
    }
  }
  display = form['zip'].style.display;
  if (display == 'block') {
    x = form["zip"].value;
    if (x == null || x == "") {
        alert("Please provide your zip code.");
        return false;
    }
  }
  display = form["newShipDate"].style.display;
  if (display == 'block') {
    x = form["newShipDate"].value;
    if (x.value == "- Select Date -") {
        alert("Please choose your new shipping date.");
        return false;
    }
  }

  return true;
}

这么多代码。。。来一杯鸡尾酒就好了。哦,还有更多的信息。比如说,到底是什么失败了?这是非常明显的,除非有其他问题需要你的帮助,否则不需要任何麻烦!就在我下班前,我发布了这篇文章,这篇文章的草率证明了我对这篇文章有多么厌倦!在你的帮助下,我有了新的眼光,验证工作开始了。但是,当我使用您的代码时,只有订单号、电话和地址有效。这可能是因为display和form都声明给pancettaForm,但是display是特定于id的吗?我的工作表单每次仍然声明x。我非常感谢您提出的合并建议,当我有更多的时间时,我会继续努力。为了让这项工作发挥作用,您需要在每个字段上指定一个名称。没有看到形式,我无法判断什么可能不起作用