18910140161

JavaScript-文本区域问题-堆栈溢出

顺晟科技

2022-10-18 13:31:07

124

我有一个简单的文本区域。我想检查这个区域的文本,当你按下按钮时,如果你的文本区域是空的,它会用默认的电子邮件填充它。

const btn = document.getElementById('btn');
let x = document.getElementById('smth');

function putDefaultMail() {
  if (x.textContent != null) {
    x.textContent = 'defaultmail@gmail.com';
  }
}

btn.addEventListener('click', function(e) {
  e.preventDefault();
  putDefaultMail();
});
<代码><;表单>;<;textarea ID=“ SMTH ”>;<;/textarea>;<;button ID=“ btn ”>;sumbit<;/button>;<;/窗体>;

但出了点问题。它只叫一次。


顺晟科技:

TextArea具有值。您应该检查值是否为空。

<form>
                    <label>Text: <textarea id="smth"></textarea></label>
                    <button id="btn">Sumbit</button>
</form>

TextContent不是从TextArea获取值的正确方法。而且,空白文本区域的值是<form> <textarea id="smth"></textarea> <button id="btn">Sumbit</button> </form>,而不是"".

null
<代码><;表单>;<;textarea ID=“ SMTH ”>;<;/textarea>;<;button ID=“ btn ”>;sumbit<;/button>;<;/窗体>;

请尝试使用.value:

const btn = document.getElementById('btn');
let x = document.getElementById('smth');

function putDefaultMail() {
    if (x.textContent != null) {
        x.textContent = 'defaultmail@gmail.com';
    }
}

btn.addEventListener('click', function (e) {
    e.preventDefault();
    putDefaultMail();
});
<代码><;表单>;<;标签>;文本:<;textarea ID=“ SMTH ”>;<;/textarea>;<;/label>;<;button ID=“ btn ”>;sumbit<;/button>;<;/窗体>;

顺便说一下,你应该像上面一样给控件添加标签。

但是,如果用户输入空格,则通过。正如@Muhammadalimalekzadeh在下面所说,<form> <textarea id="smth"></textarea> <button id="btn">Sumbit</button> </form>应该为您删除周围的空格。

const btn = document.getElementById('btn');
let x = document.getElementById('smth');

function putDefaultMail() {
    if (x.value == '') {
        x.value = 'defaultmail@gmail.com';
    }
}

btn.addEventListener('click', function (e) {
    e.preventDefault();
    putDefaultMail();
});
<代码><;表单>;<;标签>;写在这里:<;textarea ID=“ SMTH ”>;<;/textarea>;<;/label>;<;button ID=“ btn ”>;sumbit<;/button>;<;/窗体>;

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航