用jquery或javascript替换textareas中的逗号

foz*_*zer 1 javascript jquery

我有一个包含多个文本区域的表单.

<textarea name="datasetname_1" cols="40" rows="5" id="datasetname_1" class="validate[required] text-input"></textarea><br>
<textarea name="datasetname_2" cols="40" rows="5" id="datasetname_2" class="validate[required] text-input"></textarea><br>
<textarea name="datasetname_3" cols="40" rows="5" id="datasetname_3" class="validate[required] text-input"></textarea><br>
Run Code Online (Sandbox Code Playgroud)

我想用破折号替换任何包含逗号的文本.这适用于直接在文本区域中粘贴的文本或粘贴的文本.在提交表单之前应该替换文本.我怎样才能用jquery或javascript来完成这个?

我试过这个

    $("#formID").submit(function() {
  $("textarea").each(function() {
($(this).val().replace(',','-'));
  });
  });
Run Code Online (Sandbox Code Playgroud)

没有运气.

pim*_*vdb 5

$(this).val().replace(',','-');
Run Code Online (Sandbox Code Playgroud)

将获取该值,用连字符替换一个逗号,然后不执行任何操作,因为您没有将值存储到变量中.

相反,你可以使用:

  1. $(this).val('some value');实际设置值.
  2. 使用正则表达式替换所有出现的事件.
  3. (正确地缩进代码可以帮助很多.)

例如:http://jsfiddle.net/pimvdb/HsFbN/.

$("#formID").submit(function() {
  $("textarea").each(function() {
    $(this).val($(this).val().replace(/,/g, "-"));
  });
});
Run Code Online (Sandbox Code Playgroud)

是否应该将jQuery用于所有内容是有争议的,但您也可以在此处省略它:

$("#formID").submit(function() {
  $("textarea").each(function() {
    this.value = this.value.replace(/,/g, "-");
  });
});
Run Code Online (Sandbox Code Playgroud)

  • `this.value = this.value.replace(/,/ g," - ")`jQuery abuser. (2认同)