【问题标题】:can i submit a form without submit button or without hitting enter?我可以在没有提交按钮或不按 Enter 的情况下提交表单吗?
【发布时间】:2025-12-19 09:00:17
【问题描述】:

我可以在没有提交按钮的情况下以 php 形式提交 <select> 的值吗? 在我的 html/php 代码中,我使用了两种形式,或者我们可以说两个 <select>,正如您在编码中看到的那样。在第二个<select>(子类别)中,我想使用第一个<select>(主类别)的值,以便它可以显示主<select> 的子类别。但我很困惑,如何在不使用 js 的情况下在单个页面上执行此操作。

查看我的代码:

<body>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
main course name <select name ="bcate" ><option value=''>choose</option><?php $auth->cmaster_array(); ?></select>
</form>

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
sub course name <select name ="sbcate" ><option value=''>select sub course</option><?php $auth->clmaster_array($frsbct); ?></select>
section name <input type="text" name="cname" required/>
remarks <input type="text" name="remarks" required/> 
<input type="submit" name="section_master" value="Submit">
</form>
</body>

【问题讨论】:

  • 看起来像 XY 问题。当然,您可以使用 javascript 发送没有按钮的表单。但看起来更像你只想要一个条件选择,这不是通过发送表单来实现的,而是只需要使用 AJAX 的 &lt;select&gt; 值,然后使用 AJAX 响应填充下一个 &lt;select&gt;
  • 这不能在没有 AJAX 或页面刷新的情况下完成。即使您提交第 1 个表单,您打算如何获取第 2 个表单的值?注意:在用户选择第一种形式的选项之前,第二种形式的 PHP 将完成执行

标签: php html


【解决方案1】:

你问过的事情,你需要第一个选择输入的值作为第二个输入值。

您只能通过使用 jQuery 而不提交表单来做到这一点。

写入第一个选择输入框的更改事件。

然后通过 jQuery ajax 将数据发送到您的服务器。

然后填充从ajax接收到的第二个输入框

代码:

// To get value of select box

$('#select_box_id').change(function() 
{
        var select_box_one_value = $(this).val();
});

$.ajax
({
       type: "POST",
       url: HOST + "/path/to_your_controller_function",
       data: 'data_of_select_box='+select_box_one_value,
       cache: false,
       success: function(msg)
       {
       }
});

使用它,您的控制器将获取选择框值的值,然后从那里返回数据,您将在msg 变量中接收该数据。

【讨论】:

  • 你能解释一下吗?
  • 我尝试了更改事件,它工作了一点,但我不知道如何传递值...我现在如何向您展示我的代码...我可以在这里粘贴吗??
  • 完成了它的工作。如果你不介意我怎么能再次抓住你直接问问题.. thr 是否有任何关于 stakeoverflow 的 msg 服务???
  • 太棒了..享受..我不知道任何消息服务。
  • 好的,所以你能告诉我为什么两个日期选择器不能在我的 html 表单中工作(仅在 ie 中).. 即使我为它们使用 2 个不同的 id。
【解决方案2】:

您可以使用 javascript 提交表单。 您可以使用此代码提交表单

document.getElementById("[ur form id should be here]").submit();

【讨论】:

    【解决方案3】:

    您可以使用以下代码

    <form id="jsform" action="whatever you want">
    // input fields
    </form>
    
    <script type="text/javascript">
      document.getElementById('jsform').submit();
    </script>
    

    【讨论】:

      最近更新 更多