Javascript 如何知道表单中的值(如果该值是所需的,则显示某些内容)

Javascript 如何知道表单中的值(如果该值是所需的,则显示某些内容),javascript,html,Javascript,Html,我有以下HTML代码: <form> <select name="city" id="city"> <option class="orase" value="0">Choose City</option> <option class="orase" value="1">Berlin</option> <option class="orase" value="2">Prague</

我有以下HTML代码:

<form>
  <select name="city" id="city">
    <option class="orase" value="0">Choose City</option>
    <option class="orase" value="1">Berlin</option>
    <option class="orase" value="2">Prague</option>
    <option class="orase" value="3">London</option>
    <input type="submit" name="srch1" id="srch1" value="Display"/>
  </select>
</form>

我建议您使用jQuery,它可以:

$("#city").change(function (e) {
    e.preventDefault;
    var city = $("#city option:selected").text();
    if ( city == "Berlin" ) {
       alert("You are in Berlin");
    }
});
演示:


选择城市
柏林
布拉格
伦敦
var a=document.getElementById(“城市”);
a、 onchange=函数(e){
var指数=a.选择指数;
警报(“您在”+a[index].innerHTML中);
};
修改您的输入:

<input type="submit" onClick="displaySomething()" value="Display"/>

选择城市
柏林
布拉格
伦敦
函数f1()
{
if(document.getElementById(“city”).value==1)//值1表示柏林
{
警惕(“在此块中执行操作”);
} 
}


选择城市
柏林
布拉格
伦敦
瓦尔市;
函数eval(){
城市=document.getElementById(“城市”).value;
警报(城市);
如果(城市==“1”){
警惕(“你在柏林”);
}
}
这里有几件事需要注意,我使用document.getElementById(“city”),因为当您单击submit时,保存值的是您的select对象。此外,我还添加了一个功能,该功能在单击submit后执行。你要确保在那之后你抓住了城市的价值;不要像你拥有的那样在JS加载时获取它的值(此时应该是未定义的)。

试试以下方法:

HTML:

一些变化:

  • 使用
    按钮
    代替
    输入
    ,以防止立即提交和 重新加载页面。还将其从
    选择中拉出
  • city
    使用
    getElementById()
    getElementsByClassName()
    返回一个HTMLCollection,它是一个类似数组的对象,包含 具有给定类名的所有元素
  • 当你把一个函数赋给一个变量时,它不会被提升,因此 将函数移到引用它的表达式上方。或者 您可以删除
    var
    并声明函数:
    函数getCity(){…}
  • 选中
    select
    元素的
    value
    innerHTML
    将只包含
    选项
    元素的HTML
  • document.write()
    隐式打开一个新文档,所有 旧版本的内容不见了。改为使用简单的
    innerHTML
  • 使用了
    addEventListener()
    而不是
    attachEvent()
    。后者
    只适用于IE我会使用简单易用的Jquery方式。 让我们为您的表单提供一个id
    ,然后使用以下命令 jquery代码-

    $("#myForm").submit(function(e){
        selected = $("#city option:selected").text();
        if(selected == "Berlin"){
            alert("your city is Berlin");
        }
        e.preventDefault();
    });
    

    这样,它将仅在提交后触发if语句,而不是在选择更改上。

    put然后页面将提交,页面将刷新。。。您确定要使用
    submit
    按钮吗?此外,onsubmit是表单的事件,而不是按钮。现在重要的是哪种类型有输入。如果此类型为“按钮”,则“按钮”正常。
    <input type="submit" onClick="displaySomething()" value="Display"/>
    
    function displaySomething()
    {
     if(document.getElementById("city").options[document.getElementById("city").selectedIndex].value==1)
    {
    //Berlin selected!
    }
    }
    
    <form>
      <select name="city" id="city">
        <option class="orase" value="0">Choose City</option>
        <option class="orase" value="1">Berlin</option>
        <option class="orase" value="2">Prague</option>
        <option class="orase" value="3">London</option>
        <input type="button" name="srch1" id="srch1" value="Display" onclick="f1();" />
      </select>
    </form>
    
    
    function f1() 
    {
        if ( document.getElementById("city").value == 1) // value 1 is for Berlin
        {
            alert("do something in this block");
        } 
    }
    
    <select name="city" id="city">
        <option class="orase" value="0">Choose City</option>
        <option class="orase" value="1">Berlin</option>
        <option class="orase" value="2">Prague</option>
        <option class="orase" value="3">London</option>
        <input type="submit" name="srch1" id="srch1" value="Display" onclick="eval()" />
    </select>
    <script>
        var city;
    
        function eval() {
            city = document.getElementById("city").value;
            alert(city);
            if (city == "1") {
                alert('you are in Berlin');
            }
        }
    </script>
    
    <form>
      <select name="city" id="city">
        <option class="orase" value="0">Choose City</option>
        <option class="orase" value="1">Berlin</option>
        <option class="orase" value="2">Prague</option>
        <option class="orase" value="3">London</option>
      </select>
      <button type="button" name="srch1" id="srch1">Display</button>
    </form>
    
    var city = document.getElementById("city");
    var button = document.getElementById("srch1");
    var getCity = function () {
      if (city.value === "1") {
        document.body.innerHTML += "You are in Berlin";
      }
    };
    button.addEventListener("click", getCity);
    
    $("#myForm").submit(function(e){
        selected = $("#city option:selected").text();
        if(selected == "Berlin"){
            alert("your city is Berlin");
        }
        e.preventDefault();
    });