表单使用javascript make字段是否必需?

时间:2013-06-29 13:23:07

标签: javascript html forms validation

我有一个使用javascript文件items.js添加新项目的表单。因此,每次使用form.php时都会添加项目&#39}。单击按钮,然后显示新的字段行以添加详细信息。

因此,例如,下面的一些代码是添加字段项名称。

newCell = newRow.insertCell(3);
newCell.innerHTML = '<input class="item_text_area item_name" type="text" name="0_item_' + new_item + '" id="0_item_' + new_items + '" size="20" maxlength="250" />';

如何编辑此.js文件以使“项目名称”字段成为必需文件?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

Per Jeevan:由于您无法确定用户提交的项目数量,我会选择一种方法,其中所有新项目都有唯一的类别,例如dynamicAddedItems

正如Jeevan已经说过的那样,您可以将以下内容添加到表单标记中,以防止它返回false时提交。

<form onsubmit="return validate();"></form>

使用javascript:

function validate(){
  var elems = document.getElementsByClassName( 'dynamicAddedItems' );
  var allgood = true;

  //Loop through all elements with this class
  for( var i = 0; i < elems.length; i++ ) {
    if( !elems[i].value || !elems[i].value.length ) {
      elems[i].className += " error";
      allgood = false;
    } else {
      elems[i].className = "item_text_area item_name dynamicAddedItems";
    }
  }

  //If any element did not meet the requirements, prevent it from being submitted and display an alert
  if( !allgood ) {
    alert( "Please fill in all the required fields." );
    return false;
  }

  //Otherwise submit the form
  return true;
}

如果字段为空,则此脚本将添加错误类,并阻止提交表单。由您决定如何显示具有此类的字段。

答案 1 :(得分:-2)

您可以使用jquery。添加一个类,在这种情况下为'requiredAttr'到必填字段,然后在表单提交上验证。

<form onsubmit="return validate();">
  First Name*: <input class="requiredAttr" type="text" /><br/>
  Last Name: <input type="text" /><br/>
  <input type="submit" />
</form>

function validate(){
$(".requiredAttr").each(function(){
    if($(this).val().length < 1){
        alert("please fill in all the required fields.");
        $(this).focus();
        return false;
    }
    else{
        return true;
    }
});
return false;
}

这是一个工作小提琴。它还将重点放在验证警报后的第一个未填充字段上:

http://jsfiddle.net/YG6mk/2/