javascript - 如何使 <input type ="text"/> 的字符串/内容为其值?

标签 javascript html forms validation if-statement

代码如下: HTML:

<input type="text" id="name" name="name" placeholder="Your Name" onblur="namerr()">
<br>
<label id="name_labl">This field is required.</label>

CSS:

#name_labl {
    display: none;
}

JavaScript:

var nameForm = document.getElementById("name").value.length;
function namerr() {
                if (nameForm < 1) {
                  document.getElementById("name_labl").style.display="block";
                  document.getElementById("name").style.borderColor="red";
            } else {
                  document.getElementById("name_labl").style.display="none";
                  document.getElementById("name").style.borderColor="black";
            }

<小时/> 我尝试使用多种方法,从使用var name_form = document.forms["mailSender"]["name"].value.length;而不是document.getElementById("name").value.length;if (nameForm==null || nameForm=="")而不是nameForm<1 .

没有一个有效。
你看,无论我做什么,我总是得到 <input /> 的实际 ,就像这样 – <input type="text" value="some value" /> 。但是,而不是 value ,我正在使用placeholder
无论表单内的文本是什么,在 value.length 的情况下,我总是会得到“0”或什么也没有。或者只是 .value ,分别。

所以我决定将 <input type="text" /> 的内容制作出来其值,然后测量其长度来确定表格是否已填写。

关于如何做到这一点有什么想法吗?

最佳答案

当您读取该值后发生更改时,该值不会自动更新。您需要在函数内部读取它才能获取最新值。

function namerr() {
    var nameForm = document.getElementById("name").value.length;
    if (nameForm < 1) {
         document.getElementById("name_labl").style.display="block";
         document.getElementById("name").style.borderColor="red";
    } else {
          document.getElementById("name_labl").style.display="none";
          document.getElementById("name").style.borderColor="black";
    }
}

关于javascript - 如何使 &lt;input type ="text"/> 的字符串/内容为其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31545123/

相关文章:

java - 如何将javascript变量值传递给java类

javascript - 在 div 内拖动而不是滚动

javascript - 是否有任何跨浏览器的 javascript 库来设置和获取不透明度?

ipad - 加载/卸载 HTML5 <video> 时 iOS Safari 内存泄漏

html - 如何摆脱页面上的滚动条?

javascript - 拾色器更新输入值

python - 使用 Django Python 创建动态表单并显示在自定义模板表中

javascript - 在调用 `connectedCallback` 之前,自定义元素的 `disconnectedCallback` 是否可以多次调用?

php - 我可以创建一个 PHP 函数来创建文本输入字段吗?

javascript - 禁用基于另一个字段的表单字段不起作用