*(編集時) キャンセルボタンの追加 [#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の幅を無視して右に飛びすぎてしまう様なので、そのかわりに でちょっと距離を取る様にしました。 -- [[henoheno]] &new{2004-10-11 (月) 11:08:39}; -paraeditと組み合わせるときは、そのとき編集しているパラグラフのアンカーを hidden で盛り込む様にすれば良いでしょう。 -- [[henoheno]] &new{2004-10-11 (月) 11:09:32}; #comment //#comment