*(編集時) キャンセルボタンの追加 [#v7474f4d]

-ページ: BugTrack
-投稿者: [[henoheno]]
-優先順位: 低
-状態: 完了
-カテゴリー: その他
-投稿日: 2004-10-11 (月) 10:58:55
-バージョン: 

**メッセージ [#n0dc864b]

[[PukiWiki/1.4/ちょっと便利に/見出しごとの編集(fixed_anchor版)]] より移動

** 記事単位の編集機能のおまけ -- reimy [#jb426142]

記事単位の編集機能を付加したついでに、html.phpに下記の1行を加えると、編集を中止したときに元の位置に戻りやすくなります。

ブラウザの「戻る」で戻ればいいんだけど、「ページの更新」を押して戻る人があとを絶たないので。

メニューの「リロード」で元に戻るというのは、訪問者にとってわかりにくく、どうしても「ページの更新」を押してしまうようだ(そもそも編集中は、上のメニューが画面の外にはずれていることが多いので、気づかない)。そのための対策でもある。

   <input type="submit" name="preview" value="$btn_preview" />
   <input type="submit" name="write" value="$_btn_update" />
 + <a href="$script?$r_page#$s_id"><input type="button" value="$_btn_cancel" /></a><br />
   $add_top
   <input type="checkbox" name="notimestamp" value="true"$checked_time />

ja.lngに
   $_btn_cancel = 'キャンセル';
を追加。

メニューの「リロード」との違いは、元の位置に戻ることができるという点と、編集のキャンセルがわかりやすくなるという点。
-この部分のマークアップって有効ですか? -- ぱんだ 2003-11-07 (金) 13:24:59 
 <a href="$script?$r_page#$s_id"><input type="button" value="$_btn_cancel" /></a>

--有効ですよ。<input>タグや<button>タグは<a>タグの子要素になれます。W3C準拠のMozilla/Firebird/Camino/Netscape/Operaで正常に動作します。-- reimy 2003-11-07 (金) 18:03:18 
---W3C準拠だからこれで良いという考えはどうかと思うが…。IE6で使えないのにいったい誰が喜ぶというんだ?「さらに使いやすく…」以前の問題かと思うが…。ここにもPukiWiki/覚え書きの考え方が必要かと…。--あんぱんまん? 2003-11-15 (土) 21:02:22
---IE 6.0.2800.1106 SP1では問題なく表示されてますよ。globalに気が付かなかったんでちょっとはまりましたが。 -- 「柴田」2004-07-07 (水) 10:42:00
---↑早とちりのタコでした。<a>タグが効かないって話なんですね。確かにボタン押しても変わりませんね。--「柴田」2004-07-07 (水) 10:47:55

-IEではボタン<a>タグは効かないようなので、私の場合、html.phpを
   <input type="submit" name="preview" value="$btn_preview" />
   <input type="submit" name="write" value="$_btn_update" />
 + <input type="submit" name="cancel" value="$_btn_cancel" /><br />
   $add_top
   <input type="checkbox" name="notimestamp" value="true"$checked_time />
として、edit.inc.phpで、
         else if (array_key_exists('write',$vars)) {
               return plugin_edit_write();
         }
 +       else if (array_key_exists('cancel',$vars)) {
 +             return plugin_edit_cancel();
 +       }
         $source = get_source($vars['page']);
と
 + // キャンセル
 + function plugin_edit_cancel()
 + {
 +       global $script,$post;
 +       header("Location: $script?".rawurlencode($post['page']));
 +       exit;
 + }
を付け足したのですがIE6.0(Sleipnirですが)で上手く行きましたよ。 ---kyon 2004-10-10 22:03:52



***さらに使いやすく… [#pef9d4e1]
~上のだと、「プレビュー」「ページの更新」「キャンセル」の3つのボタンがくっついて並ぶので、押し間違いやすい(押しにくい)ので、ちょっと工夫を。

   <textarea name="msg" rows="$rows" cols="$cols">$s_postdata</textarea>
 + <div style="float:right">
 + <a href="$script?$r_page#$s_id"><input type="button" value="$_btn_cancel" /></a>
 + </div>
   <input type="submit" name="preview" value="$btn_preview" />
   <input type="submit" name="write" value="$_btn_update" />
 + <div style="clear:both">
   $add_top
   <input type="checkbox" name="notimestamp" value="true"$checked_time />
   <span style="small">$_btn_notchangetimestamp</span>
 + </div>
   <textarea name="original" rows="1" cols="1" style="display:none">$s_original</textarea>

~これで「キャンセル」ボタンだけが右端に寄るので、使いやすくなります。

----
-- [[cvs:lib/html.php]] (v1.4:1.5,1.6)
-- [[cvs:plugin/edit.inc.php]] (v1.4:1.19)
-- [[cvs:en.lng]] (v1.4:1.27)
-- [[cvs:ja.lng]] (v1.4:1.26)
- ということで、kyonさんの案をいただきました :) (パラグラフ編集とは独立した、単独の機能提案として扱いました)「さらに使いやすく...」の案も試してみましたが、キャンセルボタンがtextareaの幅を無視して右に飛びすぎてしまう様なので、そのかわりに &nbsp; でちょっと距離を取る様にしました。 -- [[henoheno]] &new{2004-10-11 (月) 11:08:39};
-paraeditと組み合わせるときは、そのとき編集しているパラグラフのアンカーを hidden で盛り込む様にすれば良いでしょう。 -- [[henoheno]] &new{2004-10-11 (月) 11:09:32};

#comment
//#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.042 sec.

OSDN