#php #javascript #jquery
#php #javascript #jquery
Вопрос:
У меня есть эти флажки :
<input name="linkStyle" type="checkbox" name="style[]" value="Style1" />
<input name="linkStyle" type="checkbox" name="style[]" value="Style2" />
<input name="linkStyle" type="checkbox" name="style[]" value="Style3" />
и эта функция jQuery :
<script type="text/javascript">
$(document).ready(function() {
$('input[name=linkStyle]').click(function(e) {
e.preventDefault();
$('#browseForm').submit();
});
});
</script>
но на самом деле он не отправляет на сервер массив style[] в форме. Почему? И как я могу исправить эту проблему? Пробовал также удалить e.preventDefault(); но ничего не изменилось…
Комментарии:
1. Почему у вашего ввода два
name
s?2. Подождите, вы прослушиваете
click
s в флажках, предотвращая действие по умолчанию и отправляя форму? Разве предотвращение этого действия по умолчанию не остановило бы установку флажка для начала ? Возможно, для начала это должны быть кнопки отправки…3. @Charles : Я не понимаю, что ты имеешь в виду?
4. вам действительно следует запустить ваш HTML-код через средство проверки.
5. Да, я знаю… но для такого рода я предпочитаю этот способ 🙂 Спасибо за советы!
Ответ №1:
У вас не может быть двух name
атрибутов для одного элемента. Они конфликтуют, и в конечном итоге вы перезаписываете одно другим.
Ответ №2:
У вас есть name
атрибут дважды на ваших входных данных.
Ответ №3:
как было указано, у вас есть два имени, поэтому я бы предложил изменить одно имя на класс, подобный этому
<input class="linkStyle" type="checkbox" name="style[]" value="Style1" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style2" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style3" />
затем вы можете настроить таргетинг на класс
<script type="text/javascript">
$(document).ready(function() {
$('.linkStyle').click(function(e) {
e.preventDefault();
$('#browseForm').submit();
});
});
</script>
Ответ №4:
Попробуйте —
HTML
<input class="linkStyle" type="checkbox" name="style[]" value="Style1" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style2" />
<input class="linkStyle" type="checkbox" name="style[]" value="Style3" />
jQuery
<script type="text/javascript">
$(document).ready(function() {
$('.linkStyle').click(function(e) {
e.preventDefault();
$('#browseForm').submit();
});
});
</script>