トップ 一覧 置換 検索 ヘルプ RSS ログイン

JavaScriptでFormの内容の変更を調べるの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[test.php]
  $arr_data = array(
    "apple"=>"りんご",
    "grape"=>"ぶどう",
    "book"=>"本",
    "movie"=>"映画");
 
  print json_encode($arr_data);
 ?>
http://www.little-eyes.net/tech3/2009/07/post-7.html
JavaScriptでフォームの内容に変更があったかどうかを調べる方法。


[javascript]
 $(document).ready(function(){
   $.ajax({
    type: "GET",
    url: "./test.php",
    success: function(msg)
    {
     var get_json = eval( "("+msg+")" );
     alert(get_json["apple"]);
{{code Java,
function isChange(form){
  var flg = false;
  var arr = form.elements;
  for(i = 0; i < arr.length; i ++ ) { 
    var elem = arr[i];
    if(elem.type == "text" || elem.type == "textarea") { 
      if(elem.value != elem.defaultValue) { 
        flg = true;
        break;
      }
    } else if(elem.type == "checkbox" || elem.type == "radio") { 
      if(elem.checked != elem.defaultChecked) { 
        flg = true;
        break;
      }
    } else if(elem.type == "select-one") {
      var children = elem.childNodes;
      var defaultSelectedFlg = false;
      // デフォルト選択状態のものがあるか確認する
      for(j = 0; j < children.length; j++ ) {
        if(children[j].tagName == 'OPTION') {
          if(children[j].defaultSelected) {
            defaultSelectedFlg = true;
            break;
          }
        }
      }
      
      // デフォルト選択状態のものがあった場合は、それと比較
      if(defaultSelectedFlg) { 
        for(j = 0 ; j < children.length; j++ ) {
          if(children[j].tagName == 'OPTION') {
            if(children[j].selected != children[j].defaultSelected) {
              f = true;
              break;
            }
          }
        }
      } else {
        //デフォルト選択状態以外のものがあった場合は
        if(elem.selectedIndex > 0) { 
          flg = true;
          break;
        }
      }
    }
  });
 }
  }
  return flg;
}
}}

{{category2 プログラミング言語,PHP}}
{{category2 プログラミング言語,JavaScirpt}}