- onchange submit
WT форуми -> HTML / Javascript / CSS -> onchange submit
Създайте нова тема Напишете отговор 
Автор Съобщение
obqvi_in
Нов
Нов

Регистриран на: 18/04/2012 7:24 pm

Support: 0
Bonus: 0
Мнения: 148
Мнение 11/11/2016 9:33 pm     onchange submit Отговорете с цитат


Здравейте, използвам onchange="this.form.submit();" за един селект.
HTML code:

<form method="POST">
<select name="select_day" style="font: bold 20px tahoma; width:150px;" onchange="this.form.submit();">
<option <? if(date("l") == 'Tuesday') { echo 'selected'; } ?> value="вторник">вторник</option>
<option <? if(date("l") == 'Wednesday') { echo 'selected'; } ?> value="сряда">сряда</option>
<option <? if(date("l") == 'Thursday') { echo 'selected'; } ?> value="четвъртък">четвъртък</option>
<option <? if(date("l") == 'Friday') { echo 'selected'; } ?> value="петък">петък</option>
</select>
</form>

Всички останали без днешният(който е selected) се събмитват, а аз искам всички. Благодаря предварително.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 161
Bonus: 321
Мнения: 1514
Мнение 12/11/2016 12:19 pm     Re: onchange submit Отговорете с цитат


obqvi_in написа:
Здравейте, използвам onchange="this.form.submit();" за един селект.
HTML code:

<form method="POST">
<select name="select_day" style="font: bold 20px tahoma; width:150px;" onchange="this.form.submit();">
<option <? if(date("l") == 'Tuesday') { echo 'selected'; } ?> value="вторник">вторник</option>
<option <? if(date("l") == 'Wednesday') { echo 'selected'; } ?> value="сряда">сряда</option>
<option <? if(date("l") == 'Thursday') { echo 'selected'; } ?> value="четвъртък">четвъртък</option>
<option <? if(date("l") == 'Friday') { echo 'selected'; } ?> value="петък">петък</option>
</select>
</form>

Всички останали без днешният(който е selected) се събмитват, а аз искам всички. Благодаря предварително.

Защото събмитваш формата преди да се е changeнал този select. Махни този onchange и сложи един <input type=submit> преди края на формата.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
joTunkiq
Активен
Активен

Регистриран на: 25/12/2012 12:03 pm

Support: 142
Bonus: 284
Мнения: 826
Мнение 12/11/2016 5:42 pm      Отговорете с цитат


По-скоро защото се обръщаш към формата с this. Използввай jquery

Javascript code:
<select onchange="$('#myForm').submit();">..

Ако държиш много да ползвашш чист js кода тие :

Javascript code:
<select onchange="document.theForm.submit();">..

- тук има някви примери: http://stackoverflow.com/questions/9855656/how-to-submit-a-form-using-javascript Question
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 161
Bonus: 321
Мнения: 1514
Мнение 12/11/2016 7:27 pm      Отговорете с цитат


joTunkiq написа:
По-скоро защото се обръщаш към формата с this. Използввай jquery

Javascript code:
<select onchange="$('#myForm').submit();">..

Ако държиш много да ползвашш чист js кода тие :

Javascript code:
<select onchange="document.theForm.submit();">..

- тук има някви примери: http://stackoverflow.com/questions/9855656/how-to-submit-a-form-using-javascript Question

По-добре с this. Иначе трябва да слага name на формата или да включва jQuery... напълно излишно. Много по-лесно става с this.form.submit(). Но просто по този начин няма да стане, защото той праща формата преди да е променен select-ът. Ще проработи ако сложи кратък timeout, но според мен по-добре с обикновен input type=submit.
Иначе:

HTML code:
onchange="setTimeout(this.form.submit.bind(this), 20);"


Не съм сигурен как точно се правеше, май беше .apply()...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
obqvi_in
Нов
Нов

Регистриран на: 18/04/2012 7:24 pm

Support: 0
Bonus: 0
Мнения: 148
Мнение 13/11/2016 11:23 am      Отговорете с цитат


Благодаря на всички искам да стане без type='submit' тоест без бутон пробвах всичко което сте ми дали и пак същото.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 161
Bonus: 321
Мнения: 1514
Мнение 13/11/2016 1:02 pm      Отговорете с цитат


obqvi_in написа:
Благодаря на всички искам да стане без type='submit' тоест без бутон пробвах всичко което сте ми дали и пак същото.


Цитат:
Всички останали без днешният(който е selected) се събмитват, а аз искам всички. Благодаря предварително.


Ти си дал само един select. Казваш, че нищо не се праща ако има само 1 селект във формата? Защото гледам че по твоя оригиналния начин трябва да работи. Сигурно имаш други евенти, които прекъсват изпращането.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> HTML / Javascript / CSS Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети