0

我正在尝试使表单验证有单选按钮和文本区域的位置。我不想留下任何空白,即表格应该完全填写。我已经完成了验证的单选按钮部分,如果用户没有选择单选按钮,他将收到该特定问题的错误。您可以在此处查看代码以获取详细代码。

请帮帮我。我没有收到 textarea 的错误。

4

3 回答 3

2

只需为 textarea 添加另一个检查

function RadioValidator() {
    var ShowAlert = '';
    var AllFormElements = window.document.getElementById("FormID").elements;
    for (i = 0; i < AllFormElements.length; i++) {
        var name = AllFormElements[i].name;
        if (AllFormElements[i].type == 'radio') {
           ....       
        } else if (AllFormElements[i].type == 'textarea') {
            if (AllFormElements[i].value == '') {
                ShowAlert += name + ' textarea must be filled\n';
            }
        }
    }
    if (ShowAlert !== '') {
        alert(ShowAlert);
        return false;
    } else {
        return true;
    }
}
于 2013-08-28T13:11:25.677 回答
0

textarea您还需要添加支票

在您的javascript检查中,您只添加了类型radio. 检查的条件,textarea如果值为空,则添加错误。

于 2013-08-28T13:11:12.633 回答
0

您没有为“textarea”块编写任何验证。我已经用一个 textarea 更新了它...添加其余验证。

function RadioValidator()
{
    var ShowAlert = '';
    var AllFormElements = window.document.getElementById("FormID").elements;
    for (i = 0; i < AllFormElements.length; i++) 
    {
        if (AllFormElements[i].type == 'radio') 
        {
            var ThisRadio = AllFormElements[i].name;
            var ThisChecked = 'No';
            var AllRadioOptions = document.getElementsByName(ThisRadio);
                        var problem_desc = document.getElementById("problem_desc");

            for (x = 0; x < AllRadioOptions.length; x++)
            {
                 if (AllRadioOptions[x].checked && ThisChecked === 'No' && problem_desc.value === "")
                 {
                     ThisChecked = 'Yes';
                     break;
                 } 
            }

            var AlreadySearched = ShowAlert.indexOf(ThisRadio);
            if (ThisChecked == 'No' && AlreadySearched == -1 && problem_desc.value === "")
            {
            ShowAlert = ShowAlert + ThisRadio + ' option must be selected\n';
            }
        }else if(AllFormElements[i].type =='textarea')
        {
          // add your rest of text area validations here

          var problem_desc_1 = document.getElementById("problem_desc");
          if(problem_desc_1.value === "")
          {

            ShowAlert = ShowAlert + '"Services (Please Specify)" can not be blank. \n';
          }


        }
    }
    if (ShowAlert !== '')
    {
    alert(ShowAlert);
    return false;
    }
    else
    {
    return true;
    }
}
于 2013-08-28T13:19:33.283 回答