[編集] いろいろ調べた結果、問題はCKEditorをページに統合する方法にあることがわかりました。シンプルで明白な方法はするこの場合、承認された回答に示されているように機能します。
こんにちは、
送信ボタンが押された後、実際の送信が行われる前に、フォームの値を変更する必要があります。
フォームの「送信」イベントにフックし、そこでテキスト フィールドの値を手動で変更しようとしましたが、実際には送信された値は変更されないようです。
何か案は?
ベストアンサー1
ハンドラーが機能しなかったというあなたの発言が気になりますsubmit
。私の場合は機能します。フォームを送信する前に非表示のフィールドに入力するために何年も使用してきました。他のフォーム フィールドでも機能するはずです。
例 (ライブコピー):
HTML:
<form id='theForm'
action='http://www.google.com/search'
method='GET' target='_new'>
<label>Search for:
<input type='text' name='q' id='txtSearch'></label>
<input type='submit' id='btnSearch' value='Search'>
JavaScript:
window.onload = function() {
document.getElementById('theForm').onsubmit = function() {
var txt = document.getElementById('txtSearch');
txt.value = "updated " + txt.value;
};
};
Windows 上の IE6 および IE7、Linux 上の Chrome、Firefox、Opera でテストされ、動作します。
アップデート: 以下のコメントから判断すると、jQuery を使用しているようです。jQuery を使用すると、すべてにおいて問題なく動作します。
$('#theForm').submit(function() {
var txt = $('#txtSearch');
txt.val("updated " + txt.val());
});
実例同じブラウザセットでテストされ、動作しています。このバージョンではなく、よりオープンな検索を使用しますがid
、それでも機能します。