我有一张表格
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
表单有多个输入类型文本和一个下拉菜单。
我还有一个名为(submit1)的提交按钮
<input class="submit-button" type="submit" name="submit1" value="UPDATE MY INFORMATION" />
我的PHP读起来是这样的:
if (isset($_POST['submit1']))
{ .... }
如果我按下按钮,它就工作了,没问题。
但我也想从下拉菜单中提交表格更改。。。因此,它可以通过按下按钮或更改下拉列表来执行。。。所以我的下拉列表如下
<select name="country" onchange="this.form.submit()">
当我选择我的下拉列表时,页面刷新,但是PHP中的代码没有执行。。。我想这和$u POST['submit1']的名字有关。。。
如何更改onchange=“this.form.submit(),使其在if(isset($\u POST['submit1'))中执行代码。。。
非常感谢。
检查isset($_POST['国家'])
并在更改时将其添加到下拉列表中,
onchange= 'document.getElementsByName("submit1")[0].click();'
您只需文档即可。getElementById('submit1')。将submit按钮上的id设置为与其名称相同后,单击()。当然,您也可以在更改时执行此操作。我会将我的JavaScript与HTML分开,这样它就会缓存到浏览器内存中。除了单选按钮和可能的复选框外,为您的输入、选择等提供与其名称相同的
id
。
让我们从一些常见的
开始。js
:
//<![CDATA[
var doc = document, bod = doc.body;
var IE = parseFloat(navigator.appVersion.split('MSIE')[1]);
bod.className = 'js';
function gteIE(version, className){
if(IE >= version)bod.className = className;
}
function E(e){
return doc.getElementById(e);
}
//]]>
现在进入
其他页面。php
:
//<![CDATA[
var cntry = E('country'), sub1 = E('submit1');
cntry.onchange = function(){
sub1.click();
}
// note that the format E('submit1').click(); would also work
//]]>
当然,你应该有:
<script type='text/javascript' src='common.js'></script>
<script type='text/javascript' src='otherpage.js'></script>
</body>
</html>
您应该避免这样的内联javascript。它很难看,并且降低了可读性。更简单的方法是为元素提供ID,如下所示:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" id="myForm">
但是如果您不想,可以使用QuerySelector
获取输入的name属性。
var x = document.querySelector("[name='country']");
x.addEventListener("change",function() {
this.parentNode.submit(); //get form parent and submit
});
我有点困惑,为什么还要检查submit按钮的值,您不想:
if (isset($_POST['country'])) { ... }
相反?
问题内容: 我正在JSP中创建一个页面,其中有一个下拉列表,一旦用户选择了一个值,他就必须单击go按钮,然后将该值发送到Servlet。 我该如何做才能在变更时做到呢?例如,当用户选择John时,将从数据库中检索出他的所有详细信息并显示出来。我希望系统无需单击“执行”按钮即可执行此操作。 问题答案: 只需询问JavaScript的帮助。
我正试图用Plotly编写散点图,并使其具有交互式trhough Dash回调,问题是当我更改下拉列表时,我的图形没有更新。数据结构如下所示: 报告修订周期202002年第29/02/2020号第16793 3 202001年第31/01/2020号第18933 1 202101年第31/01/2021 6246 132 202001年第17/01/2020 13 1号第
是的,所以我不知道我在做什么。哈。 我想改变select2的未打开的下拉菜单的颜色(也许还有边上的按钮),但是寻找解决方案只是设法阻碍了我 这样可以更改选项(这很好!)但并不是我想要的100%。 有没有改变下拉初始状态颜色的类
问题内容: 我有一个列表框,我想减小其宽度。 这是我的代码: 此代码在IE 6上有效,但在Mozilla Firefox(最新版本)中无效。有人可以告诉我如何减少Firefox上的下拉列表吗? 问题答案: 试试这个代码: CSS: 如果要更改选项的宽度,可以在CSS中执行以下操作: 也许您的CSS规则中有一个冲突,该冲突覆盖了您选择的宽度
问题内容: 我有一个包含单个字母值列表的可编辑文件。因此,组合框非常小。 每个字母都有特殊的含义,在很少使用的字母的情况下,有时对用户来说并不清楚。因此,我创建了一个自定义,该自定义显示了下拉列表中每个字母的含义。 不幸的是,此解释不适合下拉菜单,因为它太小了,因为它的宽度与组合框相同。 有什么方法可以使下拉列表比组合框更宽? 这是我要实现的目标: 我无法更改组合框的宽度,因为该应用程序是对旧的旧
问题内容: 我有一个下拉列表,列出了字体系列。像Tahoma,Arial,Verdana等。我想根据其代表的值更改每个下拉项的字体系列。就像Photoshop一样。 我更改了每个下拉项的CSS,但仅适用于FireFox。它不能在任何其他浏览器上使用。 我不想使用任何jQuery插件。 问题答案: 这是因为子元素()并非真正可样式化,而Firefox似乎是唯一忽略规范那部分的浏览器。 解决方法是将您