(編集時) キャンセルボタンの追加

  • ページ: 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 = 'キャンセル';

を追加。

メニューの「リロード」との違いは、元の位置に戻ることができるという点と、編集のキャンセルがわかりやすくなるという点。

  • この部分のマークアップって有効ですか? -- ぱんだ 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

さらに使いやすく…

上のだと、「プレビュー」「ページの更新」「キャンセル」の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 2004-10-11 (月) 11:08:39
  • paraeditと組み合わせるときは、そのとき編集しているパラグラフのアンカーを hidden で盛り込む様にすれば良いでしょう。 -- henoheno 2004-10-11 (月) 11:09:32

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-10-11 (月) 11:10:42
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.194 sec.

OSDN