如何使用javascript获取<select>标签和无线电标签的值

时间:2016-02-20 14:29:08

标签: javascript html forms

我在我的html项目中获取select标签和radio标签的值时遇到了麻烦。我希望javascript函数可以访问这些值,但似乎它转到了错误的servlet。 这是我目前的代码: HTML &lt; table class =&#34; table&#34;&gt;     &LT; TBODY&GT;         &LT; TR&GT;             &lt; td&gt;&lt; b&gt;选择月&lt; / b&gt;&lt; / td&gt;             &LT; TD&GT;                 &lt; select class =&#34; form-control m-bot15&#34;命名=&#34;月&#34; ID =&#34;月&#34;&GT;                     &lt; option value =&#34; 1&#34;&gt; January&lt; / option&gt;                     &lt; option value =&#34; 2&#34;&gt; February&lt; / option&gt;                     &lt; option value =&#34; 3&#34;&gt; March&lt; / option&gt;                     &lt; option value =&#34; 4&#34;&gt; April&lt; / option&gt;                     &lt; option value =&#34; 5&#34;&gt; May&lt; / option&gt;                     &lt; option value =&#34; 6&#34;&gt; June&lt; / option&gt;                     &lt; option value =&#34; 7&#34;&gt; July&lt; / option&gt;                     &lt; option value =&#34; 8&#34;&gt; August&lt; / option&gt;                     &lt; option value =&#34; 9&#34;&gt;九月&lt; /选项&gt;                     &lt; option value =&#34; 10&#34;&gt;十月&lt; /选项&gt;                     &lt; option value =&#34; 11&#34;&gt; November&lt; / option&gt;                     &lt; option value =&#34; 12&#34;&gt; December&lt; / option&gt;                 &LT; /选择&GT;             &LT; / TD&GT;         &LT; / TR&GT;         &LT; TR&GT;             &LT; TD&GT;&LT b取代;年份&LT; / B&GT;&LT; / TD&GT;             &LT; TD&GT;                 &lt; div class =&#34; controls&#34;&gt;                     &lt; input type =&#34; text&#34;类=&#34;形状控制&#34;名称=&#34;年份&#34; ID =&#34;年份&#34;&GT;                 &LT; / DIV&GT;             &LT; / TD&GT;         &LT; / TR&GT;     &LT; / tbody的&GT; &LT; /表&gt; &LT; /中心],[&LT峰; br&GT; &lt; button onclick =&#34; GenerateSoC()&#34;&gt;生成现金流量表&lt; / button&gt; 使用Javascript 函数GenerateSoC() {     var select = document.getElementById(&#34; Month&#34;);     var year = document.getElementById(&#34; Year&#34;);     var month = select.options [select.selectedIndex] .value;     if(月=== 1 ||月=== 3 ||月=== 5 ||月=== 7 ||月=== 8 ||月=== 10 ||月=== 12)     {         的document.getElementById(&#34; myForm的&#34)。行动=&#34; Accounting_SoC_MonthlySoC&#34 ;;         的document.getElementById(&#34; myForm的&#34)。提交();     }     否则如果(月=== 4 ||月=== 6 ||月=== 9 ||月=== 11)     {         的document.getElementById(&#34; myForm的&#34)。行动=&#34; Accounting_SoC_MonthlySoC30&#34 ;;         的document.getElementById(&#34; myForm的&#34)。提交();     }     其他     {         if((年%400 === 0)||((年%4 === 0)&amp;&amp;(年%100!== 0)))         {             的document.getElementById(&#34; myForm的&#34)。行动=&#34; Accounting_SoC_MonthlyFeb&#34 ;;             的document.getElementById(&#34; myForm的&#34)。提交();         }         其他         {             的document.getElementById(&#34; myForm的&#34)。行动=&#34; Accounting_SoC_MonthlyFeb28&#34 ;;             的document.getElementById(&#34; myForm的&#34)。提交();         }     } } 我在使用javascript方面还很新,所以我并不喜欢使用它。我的javascript函数有问题吗?我复制了这个网站上的一些行,但它重定向到一个不同的servlet而不是正确的servlet!在此先感谢您的回答!

2 个答案:

答案 0 :(得分:2)

你进入月份变量的值是一个字符串,你试图将它与“===”(等值和相等类型运算符)的整数进行比较,为了做到这一点,你需要转换所选的比较前的值为整数:

var month = parseInt(select.options[select.selectedIndex].value, 10);

这样你的值将被转换为10的整数,你可以将它与整数进行比较。

答案 1 :(得分:0)

问题出在这一行

var year = document.getElementById("Year");

您需要将.value的值设为

var month = document.getElementById("Year").value