当我点击按钮时,我有一个电子邮件页面加载。 “收件人:”字段包含太多电子邮件,我想在页面加载时运行脚本以检查框中是否包含分号,如果包含分号,则应删除分号和之后的任何文本它。
当我在页面上查看脚本时,这是文本区域的HTML代码:
<textarea class="EDIT" name="email_to" id="email_to" maxlength="8000" rows="1" style="height:2em;" cols="80">test@testemail.com;test2@testemail.com;</textarea>
因此,当页面加载脚本时,应检查email_to字段。例如:
[test@testemail.com;test2@testemail.com]
应该删除它的分号以及之后的任何内容以留下它:
[test@testemail.com]
到目前为止我所拥有的内容如下
function checkTextField(email_to) {
var check = (email_to.indexOf(';');
if (check != -1)
{
check.replace(/;.*/, '');
}
}
我认为我的主要问题是,当我执行console.log(email_to)时,它会为我提供文本框中的所有样式和所有内容,而我想要的只是textarea中保存的文本。
它可能不需要在函数中,只能是一个onload脚本,但我是javascript的新手,所以我不知道该使用什么。
答案 0 :(得分:1)
根据我的理解,您希望在“email_to.value”上运行,而不是“email_to”textarea本身
答案 1 :(得分:0)
只选择html,而不是整个元素。
function checkTextField(email_to) {
var ht = email_to.innerHTML;
var check = (ht.indexOf(";");
if (check != -1)
{
// Bla bla
}
}
注意:该功能是从你的复制的,我只添加了你要求的内容,你有更多的问题。
答案 2 :(得分:0)
所以经过一番搜索后我发现我的方式是不必要的,并被告知要使用以下内容:
function checkTextField (str) {
return str.substring(0, str.indexOf(';'));
}
$('#email_to').val(checkTextField($('#email_to').val()));
这似乎工作得很好,看起来我也需要了解jQuery!