Toon posts:

[JS / FORM] Formulier ontleden

Pagina: 1
Acties:
  • 86 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Een dealer heeft bij mij de vraag neergelegd of ik het Chrysler occasionsysteem in een frame kon laten openen op zijn site. Natuurlijk moet ik hier in PHP flink aan editen om hem in de goede lay-out te krijgen, maar ik loop vast op het dealerformulier. Dit is deels in JS geschreven, maar ik krijg het formulier niet ontleed. Het is namelijk de bedoeling dat zijn pagina opent, en niet dat men eerst de dealer nog eens moet selecteren in het menu.

Het formulier is te vinden op http://www.cje-nl-nl.serv...ult.aspx?searchtype=local

Ik weet dat de stock staat op http://www.cje-nl-nl.serv...uk/general/stocklist.aspx

Terwijl het formulier verwijst naar default.aspx?searchtype=local

Is er iemand die me op weg kan helpen? Ik zit al de hele ochtend hier op te puzzelen

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Wat is het probleem nu? Ik kan het niet helemaal volgen namelijk.
Kan je misschien al iets laten zien wat je hebt en waarom het fout loopt?

offtopic:
JS hoort in /13

Today's subliminal thought is:


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Er wordt bij het selecteren van een dealer een postback naar de server gedaan waarmee in stocklist.aspx wordt bepaalt welke dealer getoond moet worden.
Volgens mij is het niet mogelijk dit te faken en de gewenste gegevens in een frame te plaatsen.
edit:

Daarnaast lijkt het mij ook niet wenselijk dat dit mogelijk is aangezien dit al snel kan worden gezien als het rippen van content (wat het eigenlijk gewoon is) en lijkt het mij dan ook beter dat je deze gegevens op een andere manier probeert te achterhalen ;)

[ Voor 36% gewijzigd door DeverauX op 05-07-2003 11:57 ]

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<script src='../javascript/RolloverButton.js' language='javascript'></script><form name="MainForm" method="post" action="http://www.cje-nl-nl.server3.m25.co.uk/dealer/default.aspx?searchtype=local" id="MainForm">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="blablabla=" />

<script language="javascript">
<!--
    function __doPostBack(eventTarget, eventArgument) {
        var theform = document.MainForm;
        theform.__EVENTTARGET.value = eventTarget;
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
    }
// -->
</script>
                <select name="PfcEditContainer1:PE_DropDownList1" id="PfcEditContainer1_PE_DropDownList1" class="textfield" onchange="__doPostBack('PfcEditContainer1:PE_DropDownList1','')" language="javascript">
        <option value="">Kies een dealer</option>
        <option value="2000001">Autobedrijf Vema b.v.</option>
        <option value="2000002">Auto Baas Chrysler Jeep B.V.</option>
        <option value="2000003">Chrysler Jeep Den Haag</option>
        <option value="2000004">Chrysler Jeep Bert Stemerdink</option>
        <option value="2000006">Koenen's Autobedrijf B.V.</option>
        <option value="2000007">Autobedrijf Chrysler Jeep Eindhoven</option>
        <option value="2000008">Chrysler Jeep Amstelveen B.V.</option>
        <option value="2000009">Chrysler Jeep Heemstede B.V.</option>
        <option value="2000010">Chrysler Jeep Hop Goes B.V.</option>
        <option value="2000011">Tenback Auto's B.V.</option>
        <option value="2000012">Chrysler Jeep Nijmegen B.V.</option>
        <option value="2000013">Chrysler Jeep Apeldoorn B.V.</option>
        <option value="2000015">Chrysler Jeep Kien B.V.</option>
        <option value="2000016">Chrysler Jeep Purmerend</option>
        <option value="2000017">Chrysler Jeep Amsterdam B.V.</option>
        <option value="2000018">Car Plan Utrecht B.V.</option>
        <option value="2000019">Van Dorst Chrysler B.V.</option>
        <option value="2000020">Van Kooy 't Gooi</option>
        <option value="2000022">Middelbeek Cars B.V.</option>
        <option value="2000023">Jan Hop Chrysler Jeep Roosendaal B.V.</option>
        <option value="2000025">Auto Dekker B.V.</option>
        <option value="2000026">Chrysler - Jeep Leeuwarden</option>
        <option value="2000027">Chrysler Jeep Dordrecht</option>
        <option value="2000028">Chrysler Jeep Munsterhuis B.V.</option>
        <option value="2000029">County Car Rotterdam B.V.</option>
        <option value="2000030">American Cars Schinnen</option>
        <option value="2000031">Chrysler Loon op Zand</option>
        <option value="2000032">Hollandse Auto Importmij. B.V.</option>
        <option value="2000033">Drôme Cars</option>
        <option value="2000034">Winter Autocentrum B.V.</option>
        <option value="2000035">Chrysler Jeep Louwes</option>
    </select>
</form>


Dit is naar mijn weten het formulier + js code die ervoor zorgt dat je de dealer kan selecteren. Als ik echter http://www.cje-nl-nl.serv...cal&__EVENTTARGET=2000001 bijvoorbeeld gebruik om een dealer ermee aan te roepen, krijg ik gewoon weer het selecteer dealer menu voor me terwijl ik dus op zoek ben naar de url om direct de stock van een dealer aan te roepen zodat ik deze via PHP kan inlezen en in een andere lay-out op de site van de dealer kan zetten.

[ Voor 37% gewijzigd door Verwijderd op 05-07-2003 11:58 . Reden: Tebel werd erg groot door de inhoud van viewstate, nu even vervangen door blablablabla ]


Verwijderd

Topicstarter
DeverauX schreef op 05 juli 2003 @ 11:53:
edit:

Daarnaast lijkt het mij ook niet wenselijk dat dit mogelijk is aangezien dit al snel kan worden gezien als het rippen van content (wat het eigenlijk gewoon is) en lijkt het mij dan ook beter dat je deze gegevens op een andere manier probeert te achterhalen ;)
Het zijn de gegevens van de dealer zelf die door chrysler bijgehouden wordt. Het spaart hem veel onderhoudskosten als hij deze direct op kan roepen op zijn site.

  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Het zijn de gegevens van de dealer zelf die door chrysler bijgehouden wordt. Het spaart hem veel onderhoudskosten als hij deze direct op kan roepen op zijn site.
offtopic:
Ik neem aan dat Chrysler deze gegevens bijhoudt op basis van wat de dealer zelf aanlevert. afaik is wat jij wil niet mogelijk en zal het je veel tijd/frustratie besparen door de gegevens gewoon op een andere manier te achterhalen :)

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Het formulier stopt de gekozen waarde in een POST variabele, jij probeert het nu via een GET variabele te doen. Het verwerkende script op de server trapt daar echter niet in.
Het zou me verder niets verbazen als __VIEWSTATE nog gebruikt wordt als challenge om te verifieren dat de request wel van dezelfde site afkomt.
In dat geval betekent dat dat als je dit aan de praat wilt krijgen je eerst vanuit een script de pagina moet opvragen, je de inhoud van __VIEWSTATE moet opslaan, een POST moet doen met de juiste waarden en vervolgens de response weer moet opvangen.
Misschien kan je beter contact opnemen met degenen die het occasionsysteem beheren om te vragen of er een andere mogelijkheid is.

Intentionally left blank


Verwijderd

Topicstarter
DeverauX schreef op 05 July 2003 @ 12:04:
[...]

offtopic:
Ik neem aan dat Chrysler deze gegevens bijhoudt op basis van wat de dealer zelf aanlevert. afaik is wat jij wil niet mogelijk en zal het je veel tijd/frustratie besparen door de gegevens gewoon op een andere manier te achterhalen :)
Ze sturen daar zelf mensen voor langs de dealer, dus die levert niks zelf meer aan. Ik ben er ergens toch heilig van overtuigd dat het mogelijk moet zijn. Als ik het op mijn scherm krijgen kan, moet ik het ook door PHP op kunnen laten vragen dacht ik zo.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Zet de juiste gegevens uit de selectbox in een hidden input en post het formulier.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form name="MainForm" method="post" 
 action="http://www.cje-nl-nl.server3.m25.co.uk/dealer/default.aspx?searchtype=local" 
 id="MainForm">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="blablabla=" />

<script language="javascript">
<!--
    function __doPostBack(eventTarget, eventArgument) {
        var theform = document.MainForm;
        theform.__EVENTTARGET.value = eventTarget;
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
    }
// -->
</script>

<input type="hidden"
 name="PfcEditContainer1:PE_DropDownList1" 
 id="PfcEditContainer1_PE_DropDownList1" 
 value="2000001" />
</form>

<script type="text/javascript">
__doPostBack('PfcEditContainer1:PE_DropDownList1','')
</script>


edit:
Dit is dus ongeveer wat crisp zegt.
Met het verschil dat er hier vanuit wordt gegaan dat die viewstate onveranderd mag blijven

[ Voor 59% gewijzigd door Annie op 05-07-2003 12:12 ]

Today's subliminal thought is:


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

crisp schreef op 05 July 2003 @ 12:05:
Het zou me verder niets verbazen als __VIEWSTATE nog gebruikt wordt als challenge om te verifieren dat de request wel van dezelfde site afkomt.
Of deze hiervoor gebruikt wordt, durf ik niet met zekerheid te zeggen; eerder betwijfel ik het. (Er wordt immers nog heel erg gehamerd op het gebruik van Page.IsValid)

Wel wordt de viewstate gebruikt om de de state van een aantal controls in op te slaan. (Bijvoorbeeld de datasource van een datagrid)
Viewstate was verder gewoon, afaik, een base64 encoded string.

[ Voor 12% gewijzigd door gorgi_19 op 05-07-2003 12:10 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Annie schreef op 05 July 2003 @ 12:08:
Zet de juiste gegevens uit de selectbox in een hidden input en post het formulier.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form name="MainForm" method="post" 
 action="http://www.cje-nl-nl.server3.m25.co.uk/dealer/default.aspx?searchtype=local" 
 id="MainForm">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="blablabla=" />

<script language="javascript">
<!--
    function __doPostBack(eventTarget, eventArgument) {
        var theform = document.MainForm;
        theform.__EVENTTARGET.value = eventTarget;
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
    }
// -->
</script>

<input type="hidden"
 name="PfcEditContainer1:PE_DropDownList1" 
 id="PfcEditContainer1_PE_DropDownList1" 
 value="2000001" />
</form>

<script type="text/javascript">
__doPostBack('PfcEditContainer1:PE_DropDownList1','')
</script>


edit:
Dit is dus ongeveer wat crisp zegt.
Met het verschil dat er hier vanuit wordt gegaan dat die viewstate onveranderd mag blijven
Dit werkt wel, alleen geeft hij dan vreemd genoeg aan dat er geen stock is.

Viewstate staat vast

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Dan misschien toch maar de raad van crisp opvolgen:

[rml]crisp in "[ JS / FORM] Formulier ontleden"[/rml]
Misschien kan je beter contact opnemen met degenen die het occasionsysteem beheren om te vragen of er een andere mogelijkheid is.

Today's subliminal thought is:


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Dit gaat niet werken, want er wordt gecontroleerd op Sessie variabelen. Dus hij zal altijd terugspringen naar het keuze formulier.

Verwijderd

Topicstarter
Oke, dan geef ik het op.....

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

crisp schreef op 05 July 2003 @ 12:05:
Misschien kan je beter contact opnemen met degenen die het occasionsysteem beheren om te vragen of er een andere mogelijkheid is.
Misschien dat het bovenstaande nog mogelijkheden biedt.

Verwijderd

Topicstarter
Ja, dat ga ik ook zeker proberen, maar Chrysler kennende zal dat de lange weg zijn ;)

[ Voor 1% gewijzigd door Verwijderd op 05-07-2003 12:46 . Reden: Smilie werkte niet ]


  • mocean
  • Registratie: November 2000
  • Laatst online: 15-08 04:26
Je kan toch met PHP een browser emuleren, en dan eerst het formulier opvragen, enkele waarden setten, en dan posten.

Dan kan je met php de Resultpagina uitlezen en er mee doen wat je wil.

Er is zelfs een speciale PHP class die gemaakt is om een browser te emuleren, maar ik ben even de naam kwijt.

Koop of verkoop je webshop: ecquisition.com


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
1) Javascript hoort inderdaad in W&G :)
2) Je kunt idd beter gewoon chrystler vragen. Waarschijnlijk hebben ze hiervoor wel een webservice draaien waar je gewoon via een dealerlogin via XML de gegevens kunt bemachtigen.

Succes ermee :)
Pagina: 1

Dit topic is gesloten.