入力を単に「殺す」ことはできません。その場合、フォームを送信するときに必要なデータがサーバーに送信されない可能性があります。
したがって、入力を非表示にしてその値を表示します。これを行うためにjQueryの素晴らしい力を使用する完全なスクリプトは次のとおりです。
// ==UserScript==
// @name Make Priority more user friendly
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_getValue
// ==/UserScript==
//--- The @grant is to subvert a huge design flaw, introduced with GM version 1.
var oldInput = $("input[name=prio]");
var priorityVal = oldInput.val ();
oldInput.after ('<b id="gmPriorityValue">' + priorityVal + '</b>');
oldInput.remove ();
$("#gmPriorityValue").before ('<input type="hidden" name="prio">');
$("input[name=prio]").val (priorityVal);
@include
サイトに一致するように値を変更します。
sタイプは変更できない<input>
ため、古い入力を削除し、同じ値で非表示の新しい入力を作成することに注意してください。
再do that without jquery? the pc has no internet connection
::
スクリプトファイルをPCに忍び込ませますよね?
: )jQueryもダウンロードしてこっそりとダウンロードしてください。jQueryファイルとuserscriptファイルが同じフォルダーにある状態で、@require
行を次のように変更します。
// @require jquery.min.js
その後、スクリプトは問題なくインストールされ、インターネット接続は必要ありません。
再maybe the easiest way is to disable the input field
::
さて、それを行うためのスクリプトは次のとおりです。
// ==UserScript==
// @name Make Priority more user friendly
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_getValue
// ==/UserScript==
var oldInput = document.querySelector ("input[name=prio]");
oldInput.setAttribute ("disabled", "disabled");
アップデート:
非常に重要な情報は質問から省略されました-主にこれはFirefox2.0(!!!)とGreasemonkey0.8を対象としています。それを前提として、最後のスクリプトのコードを次のように変更します。
var oldInput = document.getElementsByName ("prio");
oldInput[0].setAttribute ("disabled", "disabled");
動作するはずですが、テストすることは不可能であり、互換性テーブルはそのような時代遅れのブラウザさえカバーしていません。