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'。

  • 可以在服务器上获取这个参数来判断表单是如何提交的

编辑:将您的按钮类型更改为“提交”或为这两个操作调用不同的脚本。

于 2013-01-24T04:32:16.937 回答
0

将一个值(比如一个intor boolean)传递给函数。传递的值可用于确定来源。

于 2013-01-24T04:27:04.887 回答
0

您调用相同的函数来提交表单,所以如果您希望您的服务器实现表单提交所使用的内容,我认为您必须将参数传递给您的服务器

于 2013-01-24T04:46:26.117 回答
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 回答