javascript - 检查表单域
问题描述
我在检查表单字段时遇到问题。我创建了一些表单,现在我想检查表单字段。我写了一些 html 代码,但它并没有真正起作用,我不知道为什么。这是代码:
<html>
<fieldset>
<legend>Formular</legend>
<head><title>Formular</title>
</head>
<body>
<script type="text/javascript">
function checkform(){
var strFehler='';
if (document.forms[0].Betreff.value==""){
strFehler += "Feld ist leern";}
if (document.forms[0].Nachricht.value==""){
strFehler += "Feld ist nicht ausgefülltn";}
if (strFehler.length>0) {
alert("Festgestellte Probleme: nn"+strFehler);
return(false);
}}
</script>
<form>
<label for="text">Betreff</label>
<input type="text">
</label> <br>
<label for="textarea">Nachricht</label>
<textarea cols="50" rows="10">
</textarea> <br>
<button type="button" onclick="checkform">Senden</button>
</form>
</body>
</fieldset>
</html>
解决方案
这里有几点:
- 你没有
checkform()
正确调用。必须这样做:onclick="checkform()"
document.forms[0].Betreff.value==""
并且document.forms[0].Nachricht.value==""
会产生语法错误。要正确获取值,请为您的输入分配一个 id,或者像我一样通过标签名称获取它们
function checkform() {
var strFehler = '';
if (document.getElementsByTagName('input')[0].value == "") {
strFehler += "Feld ist leern";
}
if (document.getElementsByTagName('textarea')[0].value == "") {
strFehler += "Feld ist nicht ausgefülltn";
}
if (strFehler.length > 0) {
alert("Festgestellte Probleme: nn" + strFehler);
return (false);
}
}
<form>
<label for="text">Betreff</label>
<input type="text">
<br>
<label for="textarea">Nachricht</label>
<textarea cols="50" rows="10"></textarea> <br>
<button type="button" onclick="checkform()">Senden</button>
</form>
推荐阅读
- javascript - JS if 语句
- java - JDBC Postgres 驱动程序是否可以设置“client_encoding”以连接到数据库?
- php - 单击按钮并在php中使用jquery获取ID作为警报消息时,我没有获得分配给每个删除按钮的不同行ID?
- node.js - 如何在另一个项目中使用一个项目的现有猫鼬模式?
- android - 颤振构建apk错误
- python-3.x - Discord.py 替换用户昵称中的符号
- java - JAVA_HOME 设置不正确——Windows 10 上的 Hadoop
- airflow - Apache Airflow - 1.10 - 如何在运行期间访问 SQL 文件
- javascript - D3使用`line.defined()`时如何曲线段
- php - 使用动态下拉列表编辑表单时出错 - Cakephp