.......
function microTemplate(t , args){
return t.replace(/\$\$\{(.*?)\}/img , function(ag , ag1){
return args[ag1]||ag
})
}
var stringBuffer = []
var info = [{name:"aaa",placeholder:"aaa"},{name:"bbb",placeholder:"bbb"}]
var ilen = info.length
while(ilen--){
stringBuffer.push(microTemplate("<tr><td><input type='text' name='$${name}' placeholder='$${placeholder}'></td></tr>",info[ilen]))
}
stringBuffer.push("<tr><td><input type='submit' value='提交' /></td></tr>")
document.getElementsByTagName("table")[0].innerHTML=stringBuffer.join("")
试试吧,应该会优雅一点,模板只做个大概,正常的话可以找个前端模板引擎
单纯用promote()不能,因为prompt(text,defaultText)接受两个参数。text可选。要在对话框中显示的纯文本(而不是 HTML 格式的文本)。
defaultText可选。默认的输入文本。
所以你没有办法使得其有多个选项
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title></title>
<script>
function checkTextValue(){
if(getValue('t1').indexOf(' ')!=-1)f1.innerHTML='不能包含空格'
else f1.innerHTML=''
if(getValue('t2').length<10)f2.innerHTML='不能少于10个字'
else f2.innerHTML=''
if(getValue('t3')!=getValue('t2'))f3.innerHTML='必须跟输入框2的值一样'
else f3.innerHTML=''
var str4 = getValue('t4')
var flag = false
for(var i=0i<str4.lengthi++){
var str = str4.charAt(i)
if(str.toString() == '是'){flag = truebreak}
}
if(flag)f4.innerHTML="输入的值中不能包含'是'"
else f4.innerHTML=''
}
function getValue(id){
return document.getElementById(id).value
}
</script>
</head>
<body>
输入框1:<input type="text" id="t1"><font id="f1" color=red></font><br />
输入框2:<input type="text" id="t2"><font id="f2" color=red></font><br />
输入框3:<input type="text" id="t3"><font id="f3" color=red></font><br />
输入框4:<input type="text" id="t4"><font id="f4" color=red></font><br />
<input type="button" value="验证" onclick="checkTextValue()">
</body>
</html>