js表单验证之下拉框?

JavaScript027

js表单验证之下拉框?,第1张

先上图

再上代码

<select>

<option value="0">请选择</option>

<option value="1">一年级</option>

<option value="2">二年级</option>

<option value="3">三年级</option>

</select>

<button type="submit">提交</button>

<script>

var btn = document.getElementsByTagName('button')[0]

btn.onclick = function(){

var s = document.getElementsByTagName('select')[0]

if ( s.value == 0 ) {

alert( 'no' )

} else {

alert( 'yes' )

}

}

</script>

再来个说明

首先,不写 id 不就可以不被 document.getElementById 定位了么。

再者,表单验证是无法判断值是被手动选择的,还是被 js 加上的;它只会判断结果。过程无法判断,否则就不会有某网站遭到批量恶意注册这样的新闻了。

你说的不让 js 写入值,只能根据你的项目做分析。比如是用户注册,你可以通过限制同一个ip多次注册。或者限制填写表单的时间,比如选择值并提交这个过程需要 10 秒后才能提交成功。

var arr=["aaaaa","bbb","cccccccc"]

var sels=document.createElement("select")

sels.id="abc"

sels.name="abc"

for(var i=0i<arr.lengthi++){

   var opt=document.createElement("option")

   opt.value=i

   opt.innerHTML=arr[i]

   sels.appendChild(opt)

}

document.body.appendChild(sels)