【发布时间】:2014-08-19 23:30:13
【问题描述】:
我想知道我是否可以提供一些帮助。
我有一个表单,它使用 jQuery 基于下拉值切换表单元素。
像这样
<select id="type">
<option value="a">Account</option>
<option value="b">Insurance</option>
<option value="c">Other</option>
</select>
<div id="a" class="box">
<input type="text" name="accname" />
</div>
<div id="b" class="box">
<input type="text" name="insnum" />
</div>
<div id="c" class="box">
<input type="text" name="othername" />
</div>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
$('.box').hide();
$('#a').show();
$('#type').change(function(){
$('.box').hide();
$('#'+$(this).val()).show();
});
});
</script>
在我的控制器中,我使用 switch 语句进行验证,如下所示:
$typeCheck = Input::get('type');
switch ( $typeCheck ) {
case "a":
// Validation here
break;
case "b":
// Validation here
break;
case "c":
// Validation here
break;
}
我遇到的问题是,如果验证失败,它会返回到原始页面加载设置并显示第一个文本框。
所以,如果我从下拉列表中单击“其他”,没有输入任何内容,然后点击提交...它将返回错误“您没有在其他文本框中输入任何内容”,但将显示帐户文本框。
如果验证器失败,这是我用来发回它的代码
return Redirect::to('page-name')
->withErrors($v)
->withInput();
有什么办法可以将“类型”值发送回表单,然后进行检查以使其显示该选项?
我卡住了。
任何帮助将不胜感激。
干杯,
【问题讨论】:
标签: php jquery laravel laravel-4