回答日: 2008-11-25
質問
テンプレート 1.html でのbodyタグの直後に次のように formタグを置いたところ、編集や新規登録がエラーになってしまいます。<body>
<form action="abc.cgi" method="post">
<input type="hidden" name="action" value="123">
<input type="hidden" name="id" value="456">
<input type="hidden" name="pass" value="789">
<input name="" type="submit" value="メニューへ戻る" class="v">
</form>
<H1>ファイル変更/削除</H1>
<FORM ACTION="admin.cgi" METHOD="post">
:
:
</FORM>
既定のFORM文の前に、別のFORM文を置いた場合のエラー回避を教えてください。
よろしくお願いいたします。
投稿日時: 2008-11-25 17:40
回答
新規登録や編集ボタンの動作は、既定の <FORM> が <BODY> に次いで現れるという前提で、以下のように JavaScript で指定してあります。=========================================
<script type="text/javascript"><!--
function set_param(d,m,s){
document.forms[0].s.value = s;
document.forms[0].d.value = d;
document.forms[0].m.value = m;
}
// --></script>
=========================================
上記コードは templates/admin/1.html の HTML ヘッダが終わる直前に記載されています。
「 forms[0] 」というのが「一番最初に現れる <FORM> 」を指定していますので、この部分を変更して下さい。
お送りいただいたコードですと既定の <FORM> は2番目に現れますので、それを表す表現は「 forms[1] 」となります。
以下のように変更して動作をお試しください。
=========================================
<script type="text/javascript"><!--
function set_param(d,m,s){
document.forms[1].s.value = s;
document.forms[1].d.value = d;
document.forms[1].m.value = m;
}
// --></script>
=========================================
回答日: 2008-11-25