2011-09-17 16 views
1

カートに追加する前に商品をカスタマイズするには、投稿ポイントが2つあるPHPフォームを使用しています。&テキストをアップロードしてください。各ボタンがクリックされた後にページが一番上に更新されるのではなく、次のステップに近いアンカーを設定し、ボタンを<a href="#"></a>として使用したいと思います。PHPフォームの送信ボタンもアンカーになることはできますか?

これは、アップロードボタンのコードです:アンカータグは、ボタンがクリックされると、同じ形式のさらに下の場所にそれを送信するために属さない

<div id="virtueupl_form" style='width:100%'> 
    <form id="adminForm" name="adminForm" action="<?php echo JRoute::_('index.php?option=com_virtueupload&view=form'); ?>" method="post" enctype="multipart/form-data" onSubmit="return checkForm();"> 
    <table width="130px" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td height="70px" colspan="2" valign="top"> 
    <label for="file"><?php echo VUOutput::_('YLANG_FORM_LBL_FILE'); ?></label>  <br/> 
    <input name="file" type="file" /> 
    <input id="upload_button" class="button" type="submit" value="<?php echo VUOutput::_('YLANG_UPLOAD'); ?>" onclick="this.form.status.value = '<?php echo VUOutput::_('YLANG_STAT_INITUPL'); ?> '; $('spinner').style.display = 'block'; this.form.status.style.color = '#339900'; " /> 
</td> 
</tr> 

?同様に、「テキストを添付」した後、ユーザーがページの上部からフォームの次の部分にスクロールするのを避けたいと思います。私は様々な取り決めを試みましたが、私がやっていることを本当に知らずに、私は成功しませんでした。

このフォーラム(および他の記事)を検索したところ、単純なHTMLアンカー構造や、送信ボタンとテキストリンクの使用についてのディスカッションしか見つかりませんでした。私はアンカーの仕組みを理解していると思いますが、同じボタンでトリガされた他のイベントをフォーム内に設定する方法はわかりません。私が読んだところからは、 'onclick'コマンドも重要だと思われますが、私の限られた経験のためには何も分かりませんでした。おそらく私は正しい言葉を探していませんか?

ありがとうございます。

答えて

5

送信ボタンは、フォームのsubmitイベントを自動的にトリガーする特別なボタンです。それ以外の方法で、Javascriptからイベントを手動でトリガーする必要があります。

例えば、アンカーを使用して、あなたが他の方法とは対照的に、それはJavascriptに依存しないと、デフォルトでに局在しているよう

<form id="frm" name="frm" action="" method="get"> 
    <input type="hidden" name="someinput1" value="hello" /> 
    <input type="hidden" name="someinput2" value="world" /> 
    <a href="#" onclick="document.forms['frm'].submit();">Submit</a> 
</form> 

のようなものは通常、送信ボタンを使用することが望ましいだろうがブラウザのロケールあなたは実際に送信ボタンを持つことができ、単純にCSSでスタイルを設定することができます。同じフォーム内に複数のボタンを送信することもできます。また

は、いくつかの例は、イベントfrom the href attributeをトリガすることに注意してください、それは、マウスのホバーは、リンクだとき、あなたはそれの内容がhref属性だ見ることができます(ユーザーのアンカーヒントにJavascriptを公開するように私は、IMOこれはお勧めしません。ページの下部にあります)。

最後に、フォーム送信イベントをトリガーする要素はまったく使用できます。例えば、(jQueryを使って)これを考えてみましょう。

<form id="frm" name="frm" action="" method="get"> 
    <input type="hidden" name="someinput1" value="hello" /> 
    <input type="hidden" name="someinput2" value="world" /> 
    <div id="elemSubmit" style="text-align:center; border:1px solid black;">Submit</div> 
</form> 
<script type="text/javascript"> 
    $(function() { 
     $('elemSubmit').click(function() { $('#frm').submit(); }); 
    }); 
</script> 
関連する問題