注册 登录
编程论坛 JavaScript论坛

怎么用JS同时控制两个表单元素?

towering 发布于 2008-12-12 09:09, 1019 次点击
我想实现这样的效果,如图:
只有本站会员才能查看附件,请 登录


当是否完成为“是”时,
就必须输入“完成日期”。
如果完成日期为“否”,
则可以不输入“完成日期”。

表单元素如下 :
<form id="form1" name="form1" method="post" action="" onSubmit="return form1_onsubmit()">
  <p>是否完成
    <select name="yn" id="yn">
      <option value="1">是</option>
      <option value="0">否</option>
    </select>
  </p>
  <p>完成日期
    <input type="text" name="end_time" id="end_time" />
  </p>
  <p>
    <input type="submit" name="button" id="button" value="提交" />
  </p>
</form>

我是这样写的:
function form1_onsubmit() {
if (document.form1.end_time.value=="") and (document.form1.yn.value==1)
    {
      alert("如果完成请填写完成日期!")
      document.form1.end_time.focus()
      return false
     }
}

可是不行。。。

请问应该怎么写?
谢谢!
2 回复
#2
bygg2008-12-12 09:46
利用select 控件的value值
function form1_onsubmit() {
    if(document.form1.yn.value=="1")
    {
        if (document.form1.end_time.value=="" || document.form1.end_time.value == null)
        {
          alert("如果完成请填写完成日期!")
          document.form1.end_time.focus()
          return false
         }
    }
    return true;
}
#3
towering2008-12-12 10:06
谢谢版主!

我刚才用VBS也写了一种方法:
<%
Dim end_time,yn
end_time=request.Form("end_time")
yn=request.Form("yn")

if end_time="" and yn=1 then
response.Write("<script>alert('如果已经办结请填写办结日期!');history.go(-1)</script>")
response.End()
end if
%>

不过还是谢谢你!
1