单击提交按钮后如何保持下拉菜单的选定值

时间:2019-02-18 15:16:19

标签: javascript php button

我想在单击“提交”后显示选定的数据。我搜索过多,但没有得到正确的答案。

enter image description here

我使用了这段代码,但是下一步将是什么?我没有得到这个。

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

请指导我解决方案

谢谢

1 个答案:

答案 0 :(得分:0)

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

呈现页面后,PHP完成。如果您想与用户互动(例如,检测下拉菜单等的更改),则必须使用jQuery / javascript <仅。

以您的示例为例,您需要在页面中预先存在jQuery代码-也就是说,在最初呈现页面时,JavaScript会写入DOM中。您可以将jQuery / javascript代码添加为HTML的一部分,也可以在构建页面时echo用PHP编写该代码-但是,当用户获得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)将它们传递到<form action="new_page.php" method="post">上指定的页面上-因此,在此代码中,浏览器将导航到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