【问题标题】:Post a form using Javascript使用 Javascript 发布表单
【发布时间】:2013-12-18 22:39:25
【问题描述】:

我有以下表单标签:

<form id="Form1" action="https://www.example.com/" method="post" runat="server">
            <asp:HiddenField ID="p" runat="server" Value="1" />
            <asp:HiddenField ID="msg" runat="server" Value="2"/>
            <asp:HiddenField ID="cha" runat="server" Value="3"/>
            <asp:HiddenField ID="lang" runat="server" Value="4"/>
            <asp:HiddenField ID="number" runat="server" Value="5"/>
            <asp:HiddenField ID="amo" runat="server" Value="6"/>
            <asp:HiddenField ID="cu" runat="server" Value="7"/>
            <asp:HiddenField ID="co" runat="server" Value="8"/>
            <asp:HiddenField ID="cl" runat="server" Value="9"/>
            <asp:HiddenField ID="crl" runat="server" Value="10"/>
            <asp:HiddenField ID="sature" runat="server" Value="11"/>
            <asp:HiddenField ID="mk" runat="server"/>
    <input type="submit" name="submit" value="Go" />
</form>

我想在页面加载时使用 JavaScript 触发发布操作!

我在 Head 标签中使用了以下 Javascript 代码来执行此操作,但它不起作用。

<script type="text/javascript">
    $(document).ready(function () {
        var myForm = document.getElementById('Form1');
        myForm.submit();
    });

</script>

有什么建议吗??????

Edit1:我尝试在this article 中提供解决方案,但没有解决我的问题。

Edit2 :将以下脚本添加到表单中。 (头标)。它们足够吗?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js" type="text/javascript"></script>

【问题讨论】:

  • 看起来很可疑。一定有更好的方法来完成你想要的。
  • 因为你已经在使用jquery,你可以简单地写$('#Form1').submit();你包含jquery了吗? :-P
  • 为什么你将内容发回给用户让用户提交,而不是从你的服务器上提交给他们?
  • @KevinB 我的想法完全正确。
  • 定义“它不工作”。表单没有被提交,还是在没有任何数据的情况下提交?表单控件必须有一个名称才能成功。

标签: javascript jquery forms post action


【解决方案1】:

要在页面加载时提交表单,请将脚本标记紧跟在表单之后,不要将其包装在 document.ready 中(此答案假设您已将 jquery 包含在页面头部,因为您有它在你的问题中)

<form id="Form1" action="https://www.example.com/" method="post" runat="server">
        <asp:HiddenField ID="p" runat="server" Value="1" />
        <asp:HiddenField ID="msg" runat="server" Value="2"/>
        <asp:HiddenField ID="cha" runat="server" Value="3"/>
        <asp:HiddenField ID="lang" runat="server" Value="4"/>
        <asp:HiddenField ID="number" runat="server" Value="5"/>
        <asp:HiddenField ID="amo" runat="server" Value="6"/>
        <asp:HiddenField ID="cu" runat="server" Value="7"/>
        <asp:HiddenField ID="co" runat="server" Value="8"/>
        <asp:HiddenField ID="cl" runat="server" Value="9"/>
        <asp:HiddenField ID="crl" runat="server" Value="10"/>
        <asp:HiddenField ID="sature" runat="server" Value="11"/>
        <asp:HiddenField ID="mk" runat="server"/>
        <input type="submit" name="submit" value="Go" />
</form>

<script type="text/javascript">
    $('#Form1').submit();
</script>

【讨论】:

  • 谢谢 Zachallia,我也试过了,但没有任何改变。我在页面中提供了包含的脚本项。他们正确吗?
  • @amirmoradifard——您可以使用document.forms['Form1'].submit(); 完全删除对 j​​Query 的依赖。你不需要 jQuerUI。
【解决方案2】:
<script type="text/javascript">
    $(document).ready(function () {
        $('#Form1').submit();
    });

</script>

【讨论】:

    【解决方案3】:

    使用 jQuery,在 $('#Form1').submit(function(){ \\HERE }); 上执行此操作

    $.post("https://www.example.com/", $("#Form1").serialize(),  function() {
        alert("success");
    }));
    

    总之:

    \\Event that occurs when DOM is ready
    $(document).ready(function () {
        \\Event binding that occurs when the element with ID `Form1` is submitted 
        $('#Form1').submit(function(){
            \\Calls the POST function in jQuery with the serialized form data
            $.post("https://www.example.com/", $("#Form1").serialize(),  function() {
                alert("success");
            })); 
        });
    });
    

    【讨论】:

    • 感谢您的回复。这也不起作用。我认为问题应该来自其他地方!
    【解决方案4】:

    如果你使用 jquery,你可以这样做:

    <script type="text/javascript">
        $(document).ready(function () {
            $('#Form1').submit();
        });
    
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多