プロフィール.

はっさく

Author:はっさく メモ

カレンダー.

カテゴリー.

  • SDR(64)
  • FZ6(21)
  • Udon(78)
  • etc(44)
  • Enjoy(94)
  • Entertainment(136)
  • Gadget(27)
  • Mac(18)
  • Personal(9)
  • motoGP(9)
  • 未分類(0)
  • FC2(39)
  • FC2 プラグイン・サポート(14)
  • お引越しツール20080312(本当は未分類)(3)
  • ブログ(20080312インポート使用)(3)
  • 検索結果(0)

サブカテゴリー.

最近のコメント.

リンク.

携帯は こちらから.

QRコード
メールで友達に教える
(携帯ブラウザで開きなおすにも....)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[広告]
fc2 icon

コメントをするときパスワードの入力を忘れると投稿者が編集/削除することができなくなって困っていました。
それで送信する前に、入力チェックすることで、必要な項目を必須項目化することができます。

スクリプトは↓を元にfc2blog向けに調整しました。
必須項目入力チェック@PHP & JavaScript Room

■スクリプト
テンプレートに追加します。固定リンク(個別記事)画面、コメント編集画面だけでOKです。
/*
 * 参照
 * http://f32.aaa.livedoor.jp/~azusa/index.php?p=formcheck&t=js#a_chkHissu
 */
/**
 * [関数名] chkHissu
 * [機 能] 必須項目入力チェック
 * [説 明] フォーム送信時に必須項目が全て入力されているか調べる
 * [引 数] 
 * @param frm フォームオブジェクト
 * [返り値]
 * @return true(必須項目が全て入力されている場合) | false(未入力がある場合)
 * 20090725 hassaku fc2コメント用に対応
*/
function chkHissu(frm){
	var obj=frm.elements["mode"];
	if(obj.value=="regist"){
		/* 必須入力のname属性 */
		var hissu=Array("comment[name]","comment[pass]","comment[body]");
		/* アラート表示用 */
		var hissu_nm = Array("名前","パスワード","本文");
	}else if(obj.value=="edit"){
		/* 必須入力のname属性 */
		var hissu=Array("edit[name]","edit[pass]","edit[body]");
		/* アラート表示用 */
		var hissu_nm = Array("名前","パスワード","本文");
	}
	/* 必須入力の数 */
	var len=hissu.length;
	for(i=0; i<len; i++){
		var obj=frm.elements[hissu[i]];
		/* テキストボックス or テキストエリアが入力されているか調べる */
		if(obj.type=="text" || obj.type=="textarea" || obj.type=="password"){
			if(obj.value==""){
				/* 入力されていなかったらアラート表示 */
				alert(hissu_nm[i]+"は必須入力項目です");
				/* 未入力のエレメントにフォーカスを当てる */
				frm.elements[hissu[i]].focus();
				return false;
			}
		}else{
			/* radioボタンがチェックされているか調べる */
			for(var j=0, chk=0; j<obj.length; j++){
				/* チェックされていたらchkフラグをプラス */
				if(obj[j].checked) chk++;
			}
			if(chk==0){
				/* 1つもチェックされていない場合はfalseを返してフォーム送信しない */
				alert(hissu_nm[i]+"は必須入力項目です");
				return false;
			}
		}
	}
	/* 必須入力項目が全て入力されている場合はtrueを返してフォーム送信 */
	return true;
}
■htmlの変更
フォームタグへonsubmit="return chkHissu(this)"を追加します。
コメント・フォーム(投稿用、編集用の二箇所)
<form action="./" method="post" onsubmit="return chkHissu(this)">
...
[広告]

コメント

コメントの投稿



管理者にだけ表示を許可する

トラックバック



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。