(編集時) キャンセルボタンの追加 †
- ページ: BugTrack
- 投稿者: henoheno
- 優先順位: 低
- 状態: 完了
- カテゴリー: その他
- 投稿日: 2004-10-11 (月) 10:58:55
- バージョン:
メッセージ †
PukiWiki/1.4/ちょっと便利に/見出しごとの編集(fixed_anchor版) より移動
記事単位の編集機能のおまけ -- reimy †
記事単位の編集機能を付加したついでに、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 = 'キャンセル';
を追加。
メニューの「リロード」との違いは、元の位置に戻ることができるという点と、編集のキャンセルがわかりやすくなるという点。
- 有効ですよ。<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
さらに使いやすく… †
上のだと、「プレビュー」「ページの更新」「キャンセル」の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>
これで「キャンセル」ボタンだけが右端に寄るので、使いやすくなります。
- ということで、kyonさんの案をいただきました :) (パラグラフ編集とは独立した、単独の機能提案として扱いました)「さらに使いやすく...」の案も試してみましたが、キャンセルボタンがtextareaの幅を無視して右に飛びすぎてしまう様なので、そのかわりに でちょっと距離を取る様にしました。 -- henoheno
- paraeditと組み合わせるときは、そのとき編集しているパラグラフのアンカーを hidden で盛り込む様にすれば良いでしょう。 -- henoheno