メッセージシステムにJavascriptコードを追加しました。このJSコードは、ユーザーが送信ボタンをクリックすると、テキストエリアにBBCodeの行を追加します。
BBCodeはFirefoxとSafariの両方で正常に挿入されます。ただし、メッセージはFirefoxでのみ送信されます。Safariで投稿する場合、データベースには移動しません。私はこれらの2つのブラウザでこれをテストしただけで、他のブラウザでは壊れている可能性があります。
コードは次のとおりです。
<!-- Start javascript code for message type -->
<script>
var messageType = {
General: "[b][green]General[/green]:[/b]",
News: "[b][blue]News[/blue]:[/b]",
Trend: "[b][orange]Trend[/orange]:[/b]",
Help: "[b][red]Help[/red]:[/b]"
};
function submitForm(){
msgSelText = messageType [document.getElementById('messageSelection').value]
document.getElementById('wpam_nm_text').value = msgSelText + ' ' +document.getElementById('wpam_nm_text').value;
document.getElementById('new_post_form').submit();
}
</script>
<!-- End javascript code for message type -->
<form name="new_post" method="post" action="admin.php?page=wp-admin-microblog/wp-admin-microblog.php" id="new_post_form">
<table class="widefat">
<thead>
<tr>
<td>
<div id="postdiv" class="postarea" style="display:block;">
<textarea name="wpam_nm_text" id="wpam_nm_text" style="width:100%;" rows="4"></textarea>
</div>
Type of message:
<select id="messageSelection">
<option>General</option>
<option>News</option>
<option>Trend</option>
<option>Help</option>
</select>
<p style="text-align:right; float:right;"><input name="send" type="submit" class="button-primary" value="<?php _e('Send', 'wp_admin_blog'); ?>" onclick="submitForm()" />
</td>
</tr>
</thead>
</table>
</form>
Javascriptコードを削除すると、Safariでフォームが正常に機能しました。これは、どういうわけか、JSコードがそれを機能させていないことを意味します-なぜですか?そして、どうすれば修正できますか?