如何处理多个同名的投递箱
本文关键字:投递 何处理 处理 | 更新日期: 2023-09-27 18:28:21
我正在尝试在代码中使用一系列Dropbox,Dropbox的数量将在循环中决定。每个下拉框反映不同的日期,下拉框中的每个选项反映不同的时间。
用户只应选择其中一个时间,以便将其传递出去
因此,我的HTML将如下所示:
<form id="form" name="form" method="post" action="confirmation.cshtml">
<select name="start_to_end_time" class="start_to_end_time">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="start_to_end_time" class="start_to_end_time">
<option value="3">3</option>
<option value="4">4</option>
</select>
<button type="submit">Submit</button>
</form>
标签数量可变。我处理和验证此问题的最佳方法是什么?我尝试过使用JavaScript,并在选择一天时禁用所有其他日子,但这导致了错误。有人能帮我一下吗?
我选择了不同的路线。我选择将一个类添加到我正在处理的选择列表中,并隐藏其他类。然后我选择捕获表单提交,并在发布时监控表单中的对象数量。如果对象数大于或小于1,那么我选择提供一个警告,告诉他们使用表单;否则,如果长度等于1,则处理表单。我还注释了一个示例ajax请求,展示了如何将数据传输到控制器。我想这就是你想要做的——或者类似的事情?我可能错了,如果我错了,我会被纠正的!
http://jsfiddle.net/y6zLQ/4/
用于长期采购
$(function(){
$("select").on('click', function(){
//add a unique class identifier
$(this).addClass('working');
$("select:not('.working')").hide(100);
});
$("#form").submit(function(e){
e.preventDefault(); // stop default form submission
var visLength = $("select:visible").length; //how many select fields are visible?
if(visLength > 1 || visLength < 1){//if we have more/less than 1 visible field.
alert('Please choose a value from the lists provided.');
}else if(visLength == 1){//we only have one field, proceed.
var visValue = $("select:visible").val();
alert(visValue);
// $.ajax({
// url: 'confirmation.cshtml'
// data: 'selectVal='+visValue,
// success: function(data){
// //do something with our returned data.
// $("#someElement").html(data);
// //or don't. Perhaps you want to change the page.
// window.location = 'mywebsite.com/newlocation';
// }
// });
}
});
//build a reset function so they can choose a different date.
$("#reset").click(function(e){
e.preventDefault(); // stop default form submission
$("select").removeClass('working'); //remove unique class identifier
$("select").show(100); //show other selec tlists
});
});