【发布时间】:2014-03-26 17:23:59
【问题描述】:
先看我的代码,然后在底部问问题。
这是我的 HTML -
<form action="confirm_booking.php" method="get">
<input type="hidden" value="26-March-2014" name="event_date">
<select id="seltimeslot-26-March-2014" class="seltime" name="seltimeslot">
<option value="null">Select a Time</option>
<option disabled="disabled" value="1">9am-10am - Taken</option>
<option value="2">10am-11am - Available</option>
<option disabled="disabled" value="3">11am-12pm - Taken</option>
<option value="4">12pm-1pm - Available</option>
<option value="5">1pm-2pm - Available</option>
<option value="6">2pm-3pm - Available</option>
<option value="7">3pm-4pm - Available</option>
<option value="8">4pm-5pm - Available</option>
</select>
<br>
<br>
<input type="submit" onclick="return checkForm();" value="Book Slot" name="btnbook">
</form>
<form action="confirm_booking.php" method="get">
<input type="hidden" value="27-March-2014" name="event_date">
<select id="seltimeslot-27-March-2014" class="seltime" name="seltimeslot">
<option value="null">Select a Time</option>
<option value="1">9am-10am - Available</option>
<option value="2">10am-11am - Available</option>
<option value="3">11am-12pm - Available</option>
<option value="4">12pm-1pm - Available</option>
<option disabled="disabled" value="5">1pm-2pm - Taken</option>
<option value="6">2pm-3pm - Available</option>
<option value="7">3pm-4pm - Available</option>
<option value="8">4pm-5pm - Available</option>
</select>
<br>
<br>
<input type="submit" onclick="return checkForm();" value="Book Slot" name="btnbook">
</form>
注意,上面的 HTML 是通过 mysql 查询和 PHP 循环动态生成的。这是一个月的每一天。
现在进行验证以检查用户是否在单击相应的提交按钮时从选择列表框中选择了一个值,我有以下 JavaScript 函数 -
<script type="text/javascript">
function checkForm(id)
{
var time_slot = document.getElementById(id);
if(time_slot.value == "null")
{
alert("Please select your available event time slot.");
return false;
}
else
{
return true;
}
}
</script>
现在请告诉我如何通过单击相应的提交按钮将单个选择列表框元素 ID 传递给该函数?假设如果按下了 id 为 seltimeslot-26-March-2014 的选择列表框的提交按钮,那么它将只检查对应的 id 为 seltimeslot-26-March-2014 的选择列表框的验证,而不检查其他的。如果用户选择了 ID 为 seltimeslot-27-March-2014 的选择列表框的值并按下 seltimeslot-26-March-2014 的提交按钮,则警报必须显示 - “请选择您的可用事件时间段”,因为他是没有按下其值被选中的选择列表框的提交按钮。
【问题讨论】:
-
您有一个隐藏的日期输入,一旦您提交了表单(表单中的事件
onSubmit,而不是按钮中的onclick),您可以获得该值来创建所需的身份证 -
请不要使用隐藏的输入字段。我不是要求通过 PHP 获取选择列表框的值。就像我们使用 this.id 传递当前元素的 id 一样,我想获取用户点击了相应提交按钮的选择列表的 id。
-
我好像没有解释清楚,所以补充一个答案
标签: javascript html