Avatar billede Laitings Nybegynder
17. juni 2008 - 17:11 Der er 3 kommentarer og
1 løsning

javascript, form problem

Jeg har et kalender javascript som volder mig nogle problemer.

Jeg har en form med en input box hvori datoen bliver sat ind når man klikker i kalenderen.

Mit problem er at datoen ikke kommer med som en variabel til næste side når jeg submitter min form.

Jeg kan ikke programmere javascript så jeg på lidt ekspert-hjælp!

Javascriptet ser således ud:

<script>
var cal_obj2 = null;

var format = '%j-%m-%Y';

// show calendar
function show_cal(el) {

    if (cal_obj2) return;

var text_field = document.getElementById("text_field");

    cal_obj2 = new RichCalendar();
    cal_obj2.start_week_day = 1;
    cal_obj2.user_onchange_handler = cal2_on_change;
    cal_obj2.user_onclose_handler = cal2_on_close;
    cal_obj2.user_onautoclose_handler = cal2_on_autoclose;

    cal_obj2.parse_date(text_field.value, format);

    cal_obj2.show_at_element(text_field, "adj_left-bottom");
    cal_obj2.change_skin('alt');

}

// user defined onchange handler
function cal2_on_change(cal, object_code) {
    if (object_code == 'day') {
        document.getElementById("text_field").value = cal.get_formatted_date(format);
        cal.hide();
        cal_obj2 = null;
    }
}

// user defined onclose handler (used in pop-up mode - when auto_close is true)
function cal2_on_close(cal) {
    if (window.confirm('Are you sure to close the calendar?')) {
        cal.hide();
        cal_obj2 = null;
    }
}

// user defined onautoclose handler
function cal2_on_autoclose(cal) {
    cal_obj2 = null;
}
</script>
<link rel="STYLESHEET" type="text/css" href="rich_calendar.css">
<script language="JavaScript" type="text/javascript" src="rich_calendar.js"></script>
<script language="JavaScript" type="text/javascript" src="rc_lang_en.js"></script>
<script language="JavaScript" type="text/javascript" src="rc_lang_ru.js"></script>


og min form ser således ud:

<form name="form1" method="post" action="reg_opgave.asp">

<input type="text" id="text_field" value="" size="11" />
<input type="button" onclick="show_cal(this);" value="..." />

<input type="submit" name="Registr&eacute;r" id="submit" value="Registrér">

</form>



Jeg har andre variable også og de kommer fint med over. Hvad sker der?

Håber på hjælp!

-M
Avatar billede Laitings Nybegynder
17. juni 2008 - 17:22 #1
Jeg manglede

name="text_field" i inputbox'en :-)

Lukker!
Avatar billede erikjacobsen Ekspert
17. juni 2008 - 18:40 #2
Det hjælper ikke noget at sætte et name på et felt, nå du henter det med document.getElementById("text_field") - så skal du sætte en id (og evt. bevare din name-attribut).

Der findes givetvis enkelte browsere, der snyder, så det ser ud som om man kan nøjes med name, men det sige sig selv: når du bruger getElementById, så skal der være en id.
Avatar billede Laitings Nybegynder
17. juni 2008 - 18:56 #3
Tak for svaret Erik. jeg må indrømme at det er på grænsen til sort snak for mig, det du siger. Jeg har som sagt ikke en døjt forstand på Javascript.

Men jeg tror mit problem lå i, at formen bruger name feltet til at identificere inputboxen. Og da det ikke eksisterede fik jeg ikke variablen med.

Den endelige inputbox endte med BÅDE at have name og id.
Avatar billede erikjacobsen Ekspert
17. juni 2008 - 19:16 #4
Ok, så er du på rette vej ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester