我想知道我是否可以提供一些帮助。
我有一个表单,它根据下拉值使用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();
有什么方法可以将“类型”值发送回表单,然后检查一下以显示该选项吗?
我卡住了。
非常感谢任何帮助。
干杯,
答案 0 :(得分:2)
您应该查看会话功能: http://laravel.com/docs/session
通常,您可以通过Session :: get(type)
读取您的类型值重定向和重新输入值的类似问题可以在Laravel 4 how to display flash message in view?
找到