1

フォームがあり、ハイパーリンクまたは送信ボタンをクリックしてフォームを送信できます。ただし、フォームの送信に使用されたものをサーバーに認識させたいと思っています。

現在のコード スニペットは次のようになります。

<a href=javascript:{} onclick="formSubmit()";>Next</a>
<input type="button" name="search" value="Get Result" onclick = "formSubmit();">

そして、私の formSubmit() は次のようになります

<script type="text/javascript">
 function formSubmit()
 {
     document.getElementById('form1').submit();
     return false;
 }

それをどうやって進めるかについての指針。ありがとう

4

4 に答える 4

2

フォームで隠しパラメーターを使用します。

< input type="hidden" value="0" name="flag"/>
  • フォームが JavaScript を使用して送信されると、スクリプトでフラグ値が「1」に変更されます。

    function formSubmit()
    {
     document.form1.flag.value="1";
     document.getElementById('form1').submit();
     return false;
    }
    
  • 送信ボタンが押された場合、フラグ = '0'。

  • サーバーでこのパラメーターを取得して、フォームの送信方法を決定できます

edit : ボタンのタイプを「送信」に変更するか、両方のアクションに対して異なるスクリプトを呼び出します。

于 2013-01-24T04:32:16.937 に答える
0

event.targetを使用して、イベントをトリガーしたソースを取得し、サーバーに渡すフラグを設定できます。以下の例を参照してください。

<!DOCTYPE html>
<html>
<head>

<script>
function myFunction(e)
{ 
alert(e.target);
}
</script>
</head>

<p>
Click on a paragraph. An alert box will alert the element that triggered the event.</p>

<p>
<strong>Note:</strong> The target property returns the element that triggered the event, and not necessarily the eventlistener's element.</p>

This Link Click will return "javascript:{}"
<a href=javascript:{} onclick="myFunction(event)";>Next</a>

<p>
This Button Click will return "[objectHTMLInputElement]"
<input type="button" name="search" value="Get Result" onclick = "myFunction(event);"> 
</p>

</body>
</html>
于 2013-01-24T05:25:01.163 に答える
0

同じ関数を呼び出してフォームを送信するため、フォームの送信に使用されたものをサーバーに認識させたい場合は、サーバーにパラメーターを渡す必要があると思います

于 2013-01-24T04:46:26.117 に答える
0

int値 (または などboolean) を関数に渡します。渡された値を使用して、ソースを特定できます。

于 2013-01-24T04:27:04.887 に答える