HTMLでフォームを作成しているのですが、text/javascriptに書いているフォームの内容を使ってプルダウンメニューを動的に変更できないでしょうか?
JavaScriptでHTMLのファイル名「00.html」から「00」を抜き出し、HTML内にある
「<script type="text/javascript">name00();</script>」の「name00」に代入したいです。
そうできればファイル名を変更するだけで中身は書き換えなくても良くなるので…
00.html
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="style.css" media="all"> <link rel="stylesheet" href="jQuality/css/validationEngine.jquery.css" type="text/css"/> <script src="jQuality/js/jquery-1.8.2.min.js" type="text/javascript"></script> <script src="jQuality/js/languages/jquery.validationEngine-ja.js" type="text/javascript" charset="utf-8"></script> <script src="jQuality/js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery("#pngform").validationEngine(); }); </script> <script type="text/javascript"> var url = window.location.href; var filename = url.match(".+/(.+?).[a-z]+([?#;].*)?$")[1]; function set() { var var2 = document.getElementById('hidden'); var2.value = filename; } </script> <script type="text/javascript" src="js/PHPtemplate.js"></script> <title>作品自動登録システム</title> <meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-Control" content="no-cache"><meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT"></head> <body> <p class="title">PNG(イラスト)自動投稿フォーム ※管理者用</p> <Hr> <form id="pngform" action="pngworkform.php" method="post" enctype="multipart/form-data" onsubmit="set()"> <input type="hidden" id="hidden" name="username" value="" /> <table frame="void" cellpadding="5"> <tr> <td><p class="word">作者名 : </p></td> <td><select name="penname" class="validate[required]"> <option value="">選択して下さい</option> <script type="text/javascript">name00();</script> </select></td> <tr> <td><p class="word">作品名 : </p></td> <td><input type="text" name="worktitle" size="20" class="validate[required,minSize[1],maxSize[10]]" /></td> <tr> <td>サムネイルファイル(幅300px以下) : </td> <td><input type="file" name="upfile" size="30" class="validate[required]" data-prompt-position="bottomLeft" accept=".png" /></td> <tr> <td><p class="word">投稿通知設定 : </p></td> <td> <input type="radio" name="notice" value="0" class="validate[required]" id="notice1" checked="checked" /><label for="notice1"">通知しない</label> <input type="radio" name="notice" value="1" class="validate[required]" id="notice2" /><label for="notice2"">通知する</label> <td> <tr> <tr> <td><BR><BR><BR></td><td></td> <tr> <td> <input type="checkbox" class="validate[required] checkbox" name="checkbox1" id="checkbox1"><label for="checkbox1">内容を確認しました。</label><br><BR><br> <input type="submit" name="button" value="イラストを投稿する!"> </td> </table> </form> </body> </html>
PHPtenmlate.js (text/javascript)
function name00(){ var html = ""; html += '<option value="あ">あ</option>'; html += '<option value="い">い</option>'; html += '<option value="う">う</option>'; document.write(html); } function name01(){ var html = ""; html += '<option value="え">え</option>'; html += '<option value="お">お</option>'; html += '<option value="か">か</option>'; document.write(html); }
ファイル名から数字を取り出して、hiddenでIDを送信する部分はできたのですが…
ファイル名をhiddenで送信する
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="style.css" media="all"> <link rel="stylesheet" href="jQuality/css/validationEngine.jquery.css" type="text/css"/> <script type="text/javascript"> var url = window.location.href; var filename = url.match(".+/(.+?).[a-z]+([?#;].*)?$")[1]; function set() { var var2 = document.getElementById('hidden'); var2.value = filename; } </script> <title>フォーム</title> </head> <body> <p class="title">フォーム</p> <BR> <form id="workform" action="form.php" method="post" enctype="multipart/form-data" onsubmit="set()"> <input type="hidden" id="hidden" name="username" value="" /> <BR> <input type="submit" value="送信"/> </form> </body> </html>
回答1件
あなたの回答
tips
プレビュー