Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中选择更改后的窗口刷新_Javascript_Html - Fatal编程技术网

javascript中选择更改后的窗口刷新

javascript中选择更改后的窗口刷新,javascript,html,Javascript,Html,我有一个选择框,其中包含选项中的3(1,2,3)个值。默认情况下,这显示值1,但每当我更改此值2时,我的页面应刷新,选择选项也应保持值2。我将如何在javascript和html中实现它?我知道选择框的设计。您需要将select元素放在一个表单中,该表单的操作指向当前页面。现在的问题是,仅仅更改select元素的值并不能自动提交表单。为了做到这一点,您需要将一些Javascript附加到元素的onchange事件,如下所示: <form id="formtest" method="post

我有一个选择框,其中包含选项中的3(1,2,3)个值。默认情况下,这显示值1,但每当我更改此值2时,我的页面应刷新,选择选项也应保持值2。我将如何在javascript和html中实现它?我知道选择框的设计。

您需要将select元素放在一个表单中,该表单的操作指向当前页面。现在的问题是,仅仅更改select元素的值并不能自动提交表单。为了做到这一点,您需要将一些Javascript附加到元素的onchange事件,如下所示:

<form id="formtest" method="post" action="">
    <select id="test" name="myValue" onchange="this.form.submit();">
        <option>test</option>
        <option>test2</option>
    </select>
</form>
<form id="formtest" method="post" action="">
    <select id="test" name="myValue" onchange="this.form.submit();">
        <option<?php echo isset($_POST['myValue']) && $_POST['myValue'] == 'test' ? ' selected' : '' ?>>test</option>
        <option<?php echo isset($_POST['myValue']) && $_POST['myValue'] == 'test2' ? ' selected' : '' ?>>test2</option>
    </select>
</form>
视图/html中的代码可以如下所示:

<form id="formtest" method="post" action="">
    <select id="test" name="myValue" onchange="this.form.submit();">
        <option>test</option>
        <option>test2</option>
    </select>
</form>
<form id="formtest" method="post" action="">
    <select id="test" name="myValue" onchange="this.form.submit();">
        <option<?php echo isset($_POST['myValue']) && $_POST['myValue'] == 'test' ? ' selected' : '' ?>>test</option>
        <option<?php echo isset($_POST['myValue']) && $_POST['myValue'] == 'test2' ? ' selected' : '' ?>>test2</option>
    </select>
</form>

>测试2

当然,这一切都可以变得更具活力,但基本思想仍有待你去消化。当然,如果您与我们分享了您使用的服务器脚本语言以及您使用的Javascript库(如果有的话),这会更有帮助。

最好使用服务器端语言

关于选择一个选项

重定向到选定值附加到该url的同一页面

window.location.href= index.html?selectedoption=2
从url获取此值

http://www.codeproject.com/KB/scripting/GetURLParameters.aspx

基于此值,保持选择框值处于选中状态

您还可以获得隐藏字段的帮助以实现此目的

为什么不使用cookies

在选择框的onChange事件中,创建一个函数,该函数首先将框的值保存到cookie,然后刷新页面

然后,在主体“onLoad”上,检查cookie是否存在,并将选择框设置为该值


您可能需要添加一个重置按钮来清除cookie,或者将cookie设置为在会话结束时过期,以便选择框的状态不会在页面的多次使用中保持不变。

您不能仅使用HTML和JavaScript(但可以使用HTML5)。您使用的服务器端语言是什么?@Felix King页面“刷新”不能是一个稍微不同的URL,一个通过
设置作为参数的URL,以便服务器可以正确准备更新的页面?@Pointy:当然,这就是为什么我问服务器端使用哪种语言的原因。但是只有HTML(即静态HTML文件)和JS是不可能的。啊,是的,duhh:-)我现在明白你的意思了。