【问题标题】:How to remain selected value of dropdown after click on submit button单击提交按钮后如何保持下拉列表的选定值
【发布时间】:2019-07-12 00:21:52
【问题描述】:

我想在点击提交后显示选定的数据。我搜索太多但没有得到正确的答案。

我使用了这个代码,但下一步我没有得到这个。

if($actiondone!=''){
    echo "<script>
        $('#actiondoc').val();
        </script>";
}

请指导我解决办法

谢谢

【问题讨论】:

  • 是PHP代码吗?请指定并正确标记问题。
  • 这是您要回应的 JQuery 语句,所以您确定您的解决方案中包含 JQuery 吗?您还没有这样标记您的问题。
  • 我已经解决了这个问题

标签: javascript php button


【解决方案1】:

您不能使用 PHP 与用户交互。

页面渲染完成后,PHP 就完成了。如果您想与用户交互(即检测下拉菜单的更改等),您必须使用 jQuery/javascript only

对于您的示例,您需要在页面中预先存在 jQuery 代码 - 也就是说,在页面最初呈现时,javascript 被写入 DOM。您可以将 jQuery/javascript 代码添加为 HTML 的一部分,或者您可以在构建页面时在 PHP 中 echo 该代码 - 但当用户获得对 DOM 的控制权时,它必须在页面上。

工作演示:

$(function(){
    $('#form_submit').click(function(){
        alert( $('#actiondoc').val() );
        return false; //this line cancels the SUBMIT action of the form
    });
    
    $('#actiondoc').change(function(){
      alert('You chose: ' + $(this).find('option:selected').text() );
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<form id="your_form">
    <select id="actiondoc">
        <option value="">Choose:</option>
        <option value="chg">change of tyre</option>
        <option value="rnw">renew tyre</option>
    </select>
    <input id="form_submit" type="submit" value="submit" />
</form>

你说你想在用户点击提交后显示选择的选项,但这个想法可能有问题:

当用户单击提交时,HTML 表单将立即 (a) 获取表单控件的值并 (b) 将它们传递到 &lt;form action="new_page.php" method="post"&gt; 上指定的页面——因此,在此代码中,浏览器将导航到 new_page.php 并将表单值传递到该页面。

关键是:页面会改变(除非你使用 AJAX - 你是吗?) - 所以你不能在该页面上显示更多内容,因为用户不再在该页面上.

所以,你可以在新页面上显示#actiondoc控件的值,OR你可以拦截 提交函数,就像我在上面的演示中显示 alert() 时所做的那样

如果您告诉我们更多确切您想做什么,我们可以提供更多帮助。


参考资料:

https://www.w3schools.com/xml/ajax_intro.asp

AJAX vs Form Submission

YouTube - Simple AJAX Contact Form - HTML, PHP, AJAX

【讨论】:

  • 当我删除 return false 它不能正常工作,我需要提交按钮应该工作
  • 我没有使用 ajax
  • 在这种情况下,页面将从#actiondoc 下拉菜单所在的网页切换到&lt;form&gt; 标记中指定的页面。请:(1) 发布您的包含表单标签的 HTML,并且 (2) 告诉我们您希望在用户单击 submit 按钮时发生什么。请逐步告诉我们您想要发生的确切(一切)。 谢谢!
  • 注意:如果你的表单标签没有在表单标签的action=""属性中指定另一个页面,那么页面将简单地重新加载.例如:如果您的表单标签看起来像这样:&lt;form&gt;,那么当用户单击该表单内的submit 按钮时,页面将自行重新加载。如果发生这种情况,现在您知道原因了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 2020-08-06
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多