Avatar billede korup Nybegynder
14. oktober 2002 - 10:51 Der er 20 kommentarer og
2 løsninger

hvorfor virker min form ikke?

Hej

HJÆLP


Jeg har en side som skal opdater 2 sider, men jeg kan kun få mine parameter med til 1 af siderne hvorfor..

http://www.duca.dk/case/nyt/ny.html

/korup
Avatar billede hbhansen Nybegynder
14. oktober 2002 - 10:57 #1
Dit spørgsmål hører nok mere til i JSP IKKE JavaScript da det er det dine sider er kodet i :-)
Avatar billede korup Nybegynder
14. oktober 2002 - 11:07 #2
nej for det er mit JAvaScript der er problemet..

/korup
Avatar billede korup Nybegynder
14. oktober 2002 - 11:07 #3
her er koden:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function submitToPopup(formref) {
    newwin = window.open('http://172.16.130.98/config1.htm','config1','height=200,width=300');
    formref.submit();
    newwin.focus();   
}
function opdater(formref) {
newwin = window.open('http://172.16.130.98/config1.htm?SRV_Name=TESTER','','height=400,width=600');
newwin.document.forms[0].submit();
}
//-->
</SCRIPT>
<form method="post" action="test.jsp" onsubmit="opdater(this);return true;">
    <input type=radio name=IP_ASSIGN value=1 checked>
    <input type="text" name="SRV_Name">
    <input type="submit" name="Config1" value="  Save ">
</form>
Avatar billede korup Nybegynder
14. oktober 2002 - 11:08 #4
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function opdater(formref) {
newwin = window.open('test.jsp','','height=400,width=600');
document.forms[0].submit();
}
//-->
</SCRIPT>
<form method="post" action="test.jsp" onsubmit="opdater(this);return true;">
    <input type=radio name=IP_ASSIGN value=1 checked>
    <input type="text" name="SRV_Name">
    <input type="submit" name="Config1" value="  Save ">
</form>
Avatar billede hbhansen Nybegynder
14. oktober 2002 - 11:09 #5
Men du sender jo heller ikke parametrene med så vidt jeg kan se!
Nu er jeg ikke exp. hvad ang jsp, men skal du ikke gøre noget med request et eller andet !
Avatar billede korup Nybegynder
14. oktober 2002 - 11:09 #6
<%
String cam_navn = request.getParameter("SRV_Name");
   
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<%=cam_navn %><br>



</body>
</html>
Avatar billede hbhansen Nybegynder
14. oktober 2002 - 11:10 #7
Eller hvad med:
function opdater(formref) {
newwin = window.open('http://172.16.130.98/config1.htm?'+document.form[0].SRV_Name.value,'','height=400,width=600');
newwin.document.forms[0].submit();
}
Avatar billede korup Nybegynder
14. oktober 2002 - 11:13 #8
det skal foregå med post. Ellers kan jeg ikke modtage det.

/korup
Avatar billede jakoba Nybegynder
14. oktober 2002 - 11:13 #9
din javascript funktion  submitToPopup  bliver aldrig kaldt.

du kan evt gøre det med:

<script LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function opdater(formref) {
    formref.target = 'config1';
    formref.action = "http://172.16.130.98/config1.htm"
    newwin = window.open('','config1','height=200,width=300');
    formref.submit();      // denne submit sendes til popopvinduet 'config1'

    formref.target = null;  // dette vindue skal også opdateres
    formref.action = "test.jsp";
    return true;
}
//-->
</SCRIPT>
<form method="post" action="test.jsp" onsubmit="return opdater(this);">
    <input type=radio name=IP_ASSIGN value=1 checked>
    <input type="text" name="SRV_Name">
    <input type="submit" name="Config1" value="  Save ">
</form>

mvh JakobA
Avatar billede hbhansen Nybegynder
14. oktober 2002 - 11:16 #10
Med post hvad mener du?
Avatar billede jakoba Nybegynder
14. oktober 2002 - 11:36 #11
men hvordan får du filen "http://172.16.130.98/config1.htm" til at modtasge post data? Det ligner en ren HTML-fil
Avatar billede korup Nybegynder
14. oktober 2002 - 11:42 #12
Ja, det ved vi heller ikke men det virker,
Adressen er til et internet kamera, som vi skal opdatere, op hvis vi poster til det med den form kan vi opdatere ipadresser og navn osv.
Men jeg ved ikke hvordan den gør..

/korup
Avatar billede korup Nybegynder
14. oktober 2002 - 12:00 #13
<html>


<head>
<script LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function opdater(formref) {
    formref.target = 'config1';
    formref.action = "http://172.16.130.98/config1.htm"
    newwin = window.open('','config1','height=200,width=300');
    formref.forms[0].submit();      // denne submit sendes til popopvinduet 'config1'

  formref.target = '_parent';  // dette vindue skal også opdateres
    formref.action = "test.jsp";
    return true;
}
//-->
</SCRIPT>
</head>
<body>
<form method="post" onsubmit="return opdater(this);">
    <input type=radio name=IP_ASSIGN value=1 checked>
    <input type="text" name="SRV_Name">
    <input type="submit" name="Config1" value="  Save ">
</form>

</body>
</html>

Hej.
Det virker næsten.... Hvis jeg sætter forms[0] ind i submit(), virker det med pop op windowet. men jeg får en fejl.
Men fjerne jeg forms[0] bliver den ikke opdateret. hvorfor??
Det virker perfekt på min test.. men ikke med kameraet!!

formref.forms[0].submit();      Virker med kameraet, men fejler på andet window
formref.submit();      Virker fint med begge windower med ikke uden for testen..

/korup
Avatar billede hbhansen Nybegynder
14. oktober 2002 - 12:03 #14
form[0] referere til den første form i siden!
Prøv at gøre dette:
function opdater() {
    docuement.form[0].target = 'config1';
    docuement.form[0].action = "http://172.16.130.98/config1.htm"
    newwin = window.open('','config1','height=200,width=300');
    docuement.form[0].submit();      // denne submit sendes til popopvinduet 'config1'

  docuement.form[0].target = '_parent';  // dette vindue skal også opdateres
    docuement.form[0].action = "test.jsp";
    return true;
}
Avatar billede jakoba Nybegynder
14. oktober 2002 - 12:09 #15
Det forstår jeg ikke.  parameteren  this  i din onsubmit handeler skulle være en god og tilstrækkelig reference til den formular.
Avatar billede korup Nybegynder
14. oktober 2002 - 12:11 #16
ja det skulle jeg også mene..
Men der er lidt problemer!!


/korup
Avatar billede jakoba Nybegynder
14. oktober 2002 - 12:19 #17
du kan evt prøve med:

<script LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var huskForm = null;

function secondSubmit( ) {
    huskForm.target = '_self';  // dette vindue skal også opdateres
    huskForm.action = "test.jsp";
    huskHorm.submit();      // denne submit sendes til siden selv
}

function opdater(formref) {
    formref.target = 'config1';
    formref.action = "http://172.16.130.98/config1.htm"
    newwin = window.open('','config1','height=200,width=300');
    formref.submit();      // denne submit sendes til popopvinduet 'config1'

    huskForm = formref;
    setTimeout( "secondSubmit();",100 ); // submit om 100 ms
    return false;
}
//-->
</SCRIPT>

Det mindsker risikoen for en race forårsaget af at javascript måske når at ændre target og action før den første submit er kommet odentlig igang.

mvh JakobA
Avatar billede korup Nybegynder
14. oktober 2002 - 13:39 #18
hej
Jeg fatter det ikke.....
Den vil ikke gøre som jeg vil.
Det virker fint, med min test, men når jeg kører det på kameraet virker det ikke, det er som om at parameterne ikke bliver send.
når jeg sætter forms[0] ind, fejler main siden men så virker pop up windowet og virker som det skal!!

Er der nogen forslag?

/korup
Avatar billede korup Nybegynder
14. oktober 2002 - 14:22 #19
kan man sætte et navn på sin submit.

så det kan være det der er problemet??

<input type="submit" name="Config1" value="  Save ">


/korup
Avatar billede korup Nybegynder
14. oktober 2002 - 14:40 #20
Hej
nu virker det....
Men kun hver anden gang.
Er der nogen der ved hvorfor det kun virker hver anden gang??
Altså, jeg submitter, så virker det ikke, så trykker jeg tilbage i browseren og så trykker submit igen og så virker det??


/korup

-----------------------------------------
Koden som den er nu..
-----------------------------------------

<script LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var huskForm = null;

function secondSubmit( ) {
   
    huskForm.target = '_self';  // dette vindue skal også opdateres
    huskForm.action = "test.jsp";
    huskForm.submit();      // denne submit sendes til siden selv
}

function opdater(formref) {
    newwin = window.open('','config1','height=200,width=300');
    newwin.location.href = 'http://172.16.130.98/config1.htm';
    formref.target = 'config1';
    formref.action = "http://172.16.130.98/config1.htm";
    formref.method = "post";
   
    //formref.submit.name.value() = 'Config1';      // denne submit sendes til popopvinduet 'config1'
    formref.submit();

    //formref.submit();      // denne submit sendes til popopvinduet 'config1'

    huskForm = formref;
    setTimeout( "secondSubmit();",1000 ); // submit om 100 ms
    return true;
}


//-->
</SCRIPT>
</head>
<body>
 
<form method="post" onsubmit="return opdater(this);">
    <input type=radio name=IP_ASSIGN value=1 checked>
    <input type="text" name="SRV_Name">
    <input type="submit" name="Config1" value="  Save ">
</form>
</body>
</html>
Avatar billede korup Nybegynder
14. oktober 2002 - 15:23 #21
TAkker mange gange for hjælpen.
Fandt ud af hvis jeg submittede 2 gange så virkede det!!!


/korup
Avatar billede jakoba Nybegynder
14. oktober 2002 - 15:35 #22
takker.
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