0

フォーカス時にテキストの一部をクリアするにはどうすればよいですか?

検証が失敗したときにテキスト値の最後に「無効」を追加していて、ユーザーがフォーカスしたときにその部分を消去したい。

$("#seMailTxt").val($email+" [Not Valid]");

ここに私がこれまでに書いたオンフォーカススクリプトがあります

$("#seMailTxt").focus(function(){
$email=$("#seMailTxt").val();
if ($email.indexOf(" [Not Valid]")>=0)
{
    //code to erase [Not Valid]
}
});
4

5 に答える 5

2
$("#seMailTxt").focus(function(){
    $email=$("#seMailTxt").val();
    // This looks for that exact string at the end of the line
    // and strips it out
    $("#seMailTxt").val($email.replace(/ \[Not Valid\]$/, ''));
});
于 2013-07-04T06:28:06.567 に答える
0

多分あなたは使うことができますreplace

$("#seMailTxt").focus(function(){
   var $email = $("#seMailTxt");   

   if($email.val().indexOf(" [Not Valid]")>=0) 
      $email.val($email.val().replace(" [Not Valid]",""));

});

デモ: http://jsfiddle.net/hungerpain/wuwg5/

于 2013-07-04T06:27:57.560 に答える
0

試す

$("#seMailTxt").val().replace("someString", " ");
于 2013-07-04T06:28:13.780 に答える
0

テキストに置換を使用します:

$email = $email.replace('your text to erase','');
于 2013-07-04T06:28:15.027 に答える
0

既に知っている機能の組み合わせをindexOf使用しsubstringて、必要な結果を得ることができます。を見てみましょう:

$("#seMailTxt").focus(function(){
$email=$("#seMailTxt").val();
if ($email.indexOf(" [Not Valid]")>=0)
{
    $("#seMailTxt").val($email.substring(0, $email.indexOf(" [Not Valid]"));
}
});
于 2013-07-04T06:29:09.073 に答える