Jump to content
php.lv forumi
  • 0

Kā apvienot 3 Drop-down vērtības un aizsūtīt uz citu formu?


Bunkertor 7

Question

Sveiki,

 

Es te mēģinu integrēt savā php "superskriptā" vienu JavaScript funkcionalitāti. Atklāti runājot, tā nav mana ideja, nošpikoju... Tagad mēģinu uzlabot. Būšu bezgala pateicīgs par padomiem.

 

Tātad, ir divi faili. Vienā atrodas forma, iekš kuras lietotājam būs jāievada sistematizēts un standartizēts informācijas gabals. Tā kā es lietotājam neuzticos, es gribu viņam piedāvāt Pop-up, kurā būs trīs drop-down, no kuriem viņš varēs izvēlēties attiecīgo infu un iepildīt to pirmajā formā.

 

1. Fails, kurā atradas galvenā forma ar pogu. Nospiežam pogu, atverās pop-up:

<html>
<head>
<title>Lapa</title>
<script type="text/javascript">
targetElement = null;
function makeSelection(frm, id) {
if(!frm || !id)
return;
targetElement = frm.elements[id];
var handle = window.open('popup.html');
}
</script>
</head>
<body>
<form id="frm" name="frm" action="#">
<span>Name: </span><input name="txtName" id="txtName">
<input type="button" value="Select Name" onclick="makeSelection(this.form, 'txtName');">
<!--<a href="javascript:makeSelection(this.form, txtName)">select</a>-->
</form>
</body>
</html>

 

2. Šis ir pop-up. Kad nospiež pogu, tas aizverās un pirmajā formā ir ielasīti visi dati no drop-down:

<html>
<head>
<title>Popz</title>

<script type="text/javascript">
function makeSelection(frm, id) {
if(!frm || !id)
return;
var elem = frm.elements[id];
if(!elem)
return;
var val = elem.options[elem.selectedIndex].value;
opener.targetElement.value = val;
this.close();
}
</script>

</head>
<body>

<form id="frm" name="frm" action="#">
Animal:
<select name="nameSelection">
<option value="rabbit">rabbit</option>
<option value="frog">frog</option>
<option value="hedgehog">hedgehog</option>
</select>
Flower:
<select name="flowerSelection">
<option value="rose">rose</option>
<option value="lily">lily</option>
<option value="thistle">thistle</option>
</select>
Gender:
<select name="colourSelection">
<option value="red">red</option>
<option value="pink">pink</option>
<option value="green">green</option>
</select>
<script type="text/javascript">

var arr = new Array(3);
arr[0] = document.frm.nameSelection.value;
arr[1] = document.frm.flowerSelection.value;
arr[2] = document.frm.colourSelection.value;

</script> 

<input type="button" value="Fill In" onclick="makeSelection(this.form, 'arr.join(" - ")');">
</form>
</body>
</html>

 

Es biju domājis, ka join ir visjēdzīgākais variants, kā visus trīs sasaistīt kopā un aizpūst atpakaļ. Nez ko es daru nepareizi?

 

Tad vēl viens jautājums. Tanī pirmajā failā, kāpēc, es nevaru izmantot

<a href="javascript:makeSelection(this.form, txtName)">select</a>

pogas vietā?

 

Ceru, ka varēsiet mani apgaismot!

Paldies.

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Es tavaa vietaa dariitu savaadak ..

nekaadus JS joinus netaisiitu.. Vienkarshi 1 formaa ieliktu <input type"hiidden" .. laukus , kuros vertiibas aizpildas no tiem select boksiem ..

Tas ir.. nospiezot pogu OK . izpildas:

Nolasas vertiba no 1 selectboksa --> ierakstas pirmas formas Hiidden_1 inputaa ...

....

Aizveras Popups ..

--

Tas arii viis ...

samera vienkarsha JS darbiiba...

--

Jo tie kas Gribes uzlaust to tavu kodu tapt to izdariis, kautvai Brutali nomainot SelectBokshu vertibas ( ar FireBugu dazju sekunzju jautajums ). Taa kaa servera pusee tapat naksies parbaudiit ievadiitos datus..

 

 

P.S. sadi vari izmantot N-tos Popupus.... ( bet vispar no User puses tas ir Ljoti neerts varjants .. )

Link to comment
Share on other sites

  • 0

Paldies par ideju. Tomēr man šķiet, ka šajā gadījumā to nevarēšu izmantot. Lai pirmajā formā ievietotu papildus Hidden inputu, man būtu jāpārprogrammē viss koncepts, jāpartaisa MySQL tabulas un vēl šis tas.

 

Te ir runa par CMS, pie kura ir piekļuve tikai apm. 40 cilvēkiem. Es jau vispār neuztraucos par uzlaušanu - vienīgais mērķis ir lai lietotājam būtu mazāk galvassāpju un lai viņam nebūtu katru reizi jāštuko, "eh, kas man tanī laukā bija jāraksta". Respektīvi, lai pēc tam, kad viņš ir lietojis manu popupu, tanī pirmajā formā parādītos standartizēts teksts "rabbit-rose-pink" un nevis "rOSe, Pink_Rabbit" vai vēl kaut kādi varianti, kas uzrodas, ja lietotājs tekstu ievada ar roku (vai kāju). Nu, tas ir apmēram tā, kā dažās lapās ir tie krutie Pre-fill kalendārīši, kad tu uzklikšķini, izvēlies datumu un šis pats ir to datumu iepildījis kur vajag un kā vajag.

 

Vot, tādas tās štukas, tā kā man nāksies tomēr izpīpēt, kā dabūt to nošpikoto skriptu pie strādāšanas. Ar vienu drop-downu viss notiek. Tikko pieliek pārējos divus... nekā...

Edited by bubu
Lūdzu netaisīt bezjēdzīgas QUOTEs
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...