#html #laravel
Вопрос:
если ваш физический и почтовый адрес совпадают, вы должны иметь возможность нажать одну и ту же кнопку, и поля данных почтового отправления должны совпадать с физическим адресом, чтобы автоматически заполнить почтовый адрес. если это не то же самое, то вы должны иметь возможность вставлять данные вручную.
$("#sameas").click(function(){
var res_unit = $("#res_unit").val();
var red_complex = $("#red_complex").val();
var address_1 = $("#address_1").val();
var address_2 = $("#address_2").val();
var suburb = $("#suburb").val();
var city = $("#city").val();
var province = $("#province").val();
var code = $("#code").val();
$("#pst_unit").val(res_unit);
$("#pst_complex").val(red_complex);
$("#postal_address_1").val(address_1);
$("#postal_address_2").val(address_2);
$("#postal_suburb").val(suburb);
$("#postal_city").val(city);
$("#postal_province").val(province);
$("#postal_code").val(code);
});
#sameas {
width: 20em; height: 2em;
}
<h4>Physical Address</h4>
<div class="row">
<div class="col-md">
{!!Form::text('res_unit', 'Unit Number')!!}
</div>
<div class="col-md">
{!!Form::text('red_complex', 'Complex')!!}
</div>
<div class="col-md">
{!!Form::text('address_1', 'Street Number')!!}
</div>
</div>
<div class="row">
<div class="col-md">
{!!Form::text('address_2', 'Street Name')!!}
</div>
<div class="col-md">
{!!Form::text('suburb', 'Suburb')!!}
</div>
<div class="col-md">
{!!Form::text('city', 'City')!!}
</div>
</div>
<div class="row">
<div class="col-md-4">
{!!Form::select('province', 'Province',Config::get('constants.Provinces'))!!}
</div>
<div class="col-md-4">
{!!Form::text('code', 'Code')!!}
</div>
</div>
<div class="row">
<h4>Postal Address</h4>amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;<input type='button' id="sameas" class="btn" style="text-align: center; margin-top: 10px;background-color: #b02c22fc;color: white;" value="Same as physical address" >
</div>
<div class="row">
<div class="col-md">
{!!Form::text('pst_unit', 'Unit Number')!!}
</div>
<div class="col-md">
{!!Form::text('pst_complex', 'Complex')!!}
</div>
<div class="col-md">
{!!Form::text('postal_address_1', 'Street Number')!!}
</div>
</div>
<div class="row">
<div class="col-md">
{!!Form::text('postal_address_2', 'Street Name')!!}
</div>
<div class="col-md">
{!!Form::text('postal_suburb', 'Suburb')!!}
</div>
<div class="col-md">
{!!Form::text('postal_city', 'City')!!}
</div>
</div>
<div class="row">
<div class="col-md-4">
{!!Form::select('postal_province', 'Province',Config::get('constants.Provinces'))!!}
</div>
<div class="col-md-4">
{!!Form::text('postal_code', 'Code')!!}
</div>
</div>
Я пытался проверить сценарий, но безрезультатно. это похоже на то, как если бы скрипт не видел, где он должен быть реализован и, следовательно, не используется. Также я не могу заставить Laravel работать в фрагменте.
Ответ №1:
Проверьте сгенерированный HTML, есть ли у него атрибут id в каждом поле? Я почти могу поспорить, что это не так.
Это связано с тем, что Form::text()
вспомогательная функция по умолчанию не присваивает идентификатор.
Вам нужно либо:
- Используйте
Form::label()
функцию перед вводом, как описано здесь: https://laravelcollective.com/docs/5.2/html#labels
или
- Добавьте его в качестве атрибута функции, как это было бы с классом:
Form::text('code', 'Code', ['id' => 'code'])
Комментарии:
1. для этой функции я должен быть в состоянии сделать это только с одним идентификатором «sameas», а атрибут, например «#pst_unit», не должен иметь идентификатор, поскольку атрибут уникален и, следовательно, является его собственным идентификатором .
2. Тогда ваш код неверен, $(«#res_unit»).val(); никогда ничего не найдет, если вы не укажете идентификатор в поле. Вместо этого вы должны спросить, как выбрать конкретный ввод внутри html — объекта.
3. Спасибо, я нашел проблему, в представлении не был виден мой скрипт, я не добавил его должным образом. @Erubiel я поддержал ваш комментарий и ответ.