【发布时间】:2014-03-09 00:33:12
【问题描述】:
我有 4 个字段将由用户动态创建。
<div class="controls" id="exchange-fields">
<p>
<div id='exchange_div'>
<div class="input-append" id='currency_div1'>
{{ Form::select('currency_id[]', $currencies, null, array('name'=>'currency_id', 'id'=>'currency_id', 'value'=>'Input::old("currency_id")[0]' )) }}
</div>
<div class="input-prepend" id='actual_div1'>
<span class="add-on">Actual</span>
{{ Form::text('exchange_rate[]', null, array('class'=>'input-medium rate', 'maxlength'=>10, 'id'=>'exchange_rate', 'value'=>'Input::old("exchange_rate")[0]' )) }}
</div>
<div class="input-append" id='markup_div1'>
{{ Form::text('exchange_rate_markup[]', null, array('class'=>'input-mini yellow rate', 'maxlength'=>4, 'id'=>'exchange_rate_markup', 'value'=>'Input::old("exchange_rate_markup")[0]' )) }}<span class="add-on">%</span>
</div>
<div class="input-prepend" id='rate_div1'>
<span class="add-on">Marked-up</span>
{{ Form::text('after_markup_rate[]', null, array('class'=>'input-medium yellow', 'maxlength'=>10, 'id'=>'after_markup_rate', 'value'=>'Input::old("after_markup_rate")[0]' )) }}
</div>
</div>
</div>
<div class="controls">
<input class="btn btn-primary" type="button" id="addScnt" value="Add">
</div>
我使用 javascript 动态填充这些字段。
var scntDiv = $('#exchange-fields');
var i = $('#exchange-fields p').size() + 1;
$('#addScnt').click(function() {
$(scntDiv).append('<p>');
$("#exchange_div").clone().attr("id",'exchange_div_'+ i).appendTo(scntDiv);
//Append the remove button
$($('#exchange_div_'+ i)).append('<input class="btn btn-primary" name="remove" type="button" id="remScnt" value="Remove">');
i++;
});
在我将这些值发布到我的控制器并且验证失败之前,这一切正常。 如何使用在我的视图文件中动态填充的旧输入重新填充这些字段?
我使用 return Redirect::back()->withInput()->withErrors($e->getErrors());验证后重定向无法重新填充这些字段。但是因为这 4 个字段只接受字符串值并且返回的输入在数组中,所以在验证失败后我无法重新填充这 4 个字段。
有什么好的方法可以解决这个问题?
提前致谢。
【问题讨论】:
-
你试过用
Input::old("exchange_rate_markup.0")代替Input::old("exchange_rate_markup")[0]吗? -
效果不佳
标签: javascript validation laravel