備忘録(javascript)」カテゴリーアーカイブ

javascriptの限界??

とあるPHPで表示したWEBページ内の文字をjavascriptで検索するように設定していて、ある行を境に検索できなくなりました。

ページ内検索のjavascirptは以下のとおり。

var fFirst; //はじめかどうかのフラグ
var objRange; //TextRangeオブジェクト
//検索関数
function Start()
{
    objRange = document.body.createTextRange();
    //文字列が空であれば終了
    if (document.search_form.txtWord.value.length == 0)
    {
        return;
    }
    strCheck = document.search_form.txtWord.value;
    if (fFirst)
    {
        fFirst = false;
    }
    else
    { //2度目以降
        objRange.move(“character”, 1);
    }
    //セレクトする
    if (objRange.findText(strCheck))
    {
        objRange.select();
        objRange.scrollIntoView();
    }
}

 

という感じ。

PHPでWEBページを表示しているんですけど、HTMLタグやらでソースは5万行を超える状態。

この5万行が限界らしく5万目は見事に検索されなくなりました。

49999行目までは検索できるんですけど。

どなたか何か情報もってないですか??

入力フォームでEnterキー押下で送信を行わない

入力フォームを作成していて、どうしてもキーボードのEnterキーを押して間違って送信することがありました。

そこで、Enterキーでの入力で送信をしないようにJavascriptで制御します。

コードは以下のとおりです。

function NoEnter(evt){
  evt = (evt) ? evt : event;
                var charCode=(evt.charCode) ? evt.charCode :
                                   ((evt.which) ? evt.which : evt.keyCode);
  if ( Number(charCode) == 13 || Number(charCode) == 3) {
  return false;
  } else {
  return true;
  }
}

function NoSendEnter(formName) {
  var elements = document.forms[formName].elements;
  for (var j=0; j < elements.length; j++) {
  var e = elements[j];
  if (e.type == “text”){
  e.onkeypress=NoEnter;
  }
  }
}

実際のフォームには次のように埋め込みます。

<form name=”form1″>
~入力項目~
<input type=”text” name=”text1″>
</form>
<script>
NoSendEnter(‘form1’);
</script>