Strona 1 z 1

Inteligentny formularz

PostNapisane: 22 lipca 2012, o 19:28
przez Marcel
Mam wielki problem.
Mam tabele w CGI która jest zrobiona z pól tekstowych formularza o liczbie 100 na 15 co daje 1500 pól tekstowych.
Szukam sposobu aby nie wysyłać 1500 informacji do serwera jak jest modyfikowane tylko jedno pole.
Poległem przy pisaniu skrypty, który by włączał atrybut name w modyfikowanym polu tekstowym a tym samym wysyłał do serwera tylko informacje modyfikowane.
Piszę w Perlu a tego w tym języku zrobić się nie da zakładając że tabela ma stale wszystkie pola modyfikowalne, czyli 1500.
Jak zrobić aby formularz wysyłał do serwera tylko dane z pól modyfikowanych, a pozostałe nie mały wstawionego atrybutu name i nie wysyłałyby swoich danych?
Odwdzięczę się i napiszę co chcecie w Perlu :D
Marcel

Re: Inteligentny formularz

PostNapisane: 22 lipca 2012, o 22:10
przez platekr
Nie możesz wykorzystać javascript to tworzenia jakiejś struktury przekazywanej potem do skryptu perlowego w onsubmit formularza ?

Re: Inteligentny formularz

PostNapisane: 22 lipca 2012, o 22:37
przez Marcel
Masz rację poszedłem w javascript ale poległem, jestem cieńki w tym języku.
Problem w tym że form wysyła oba inputy nawet jak jest widoczny pierwszy.

<span id="label_173718">
<input id="label_text_173718" OnClick="javascript:editToggle('label_173718', 'edit_173718');" size="15" value="$koala" class="$color"/>
</span>
<span id="edit_173718" style="display:none">
<INPUT id="edit_input_173718" name="name" VALUE="$koala" size="15" class="$color2" onmouseover="fokus('edit_input_173718');"/>
</span>

i javascript

<script language="JavaScript" type="text/javascript">
<!--
function editToggle(label, edit) {
gid(edit).style.display = '';
gid(label).style.display = 'none';
}

function gid(id) {
return document.getElementById(id);
}

function fokus(AElementID)
{
var el = document.getElementById(AElementID);
el.focus();
}

-->
</script>

Czyli to ślepa uliczka.
Marcel

Re: Inteligentny formularz

PostNapisane: 6 września 2012, o 09:46
przez francik
Form zawsze leci - jedyna metoda to wysyłać tylko zmienione pola Ajaxem w pętli. Ale powidz mi co to za masakra formularz? 1500 pól jakiś cennik? A nie lepiej dać to do importu z csv - zazwyczaj tak robie i klienci sobie chwalą (łatwiej im wykryć błędy w arkuszu niż w formularzu).