een id achter een link plaatsen en dan weer uitlezen

Status
Niet open voor verdere reacties.

d0pey

Gebruiker
Lid geworden
17 dec 2005
Berichten
11
Hoi,

Sorry voor de vaage titel kon er even niet beter van maken!

Ik zal al eerste even posten wat ik totop heden heb aan java script.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="nl">
<head>
<script type="text/javascript" src="javascripts/prototype.js"></script> 
<script type="text/javascript" src="javascripts/effects.js"></script>
<script type="text/javascript" src="javascripts/window.js"></script>
<script type="text/javascript" src="javascripts/window_effects.js"></script>

<link href="themes/default.css" rel="stylesheet" type="text/css" ></link>
<link href="themes/spread.css" rel="stylesheet" type="text/css" ></link>
</head>
<body>

<div id="myquoteform" style="display:none;overflow:clip;padding:10px;width:100px;">
<form id="quotefrm">
<table>
<tr><td>Titel</td><td><input type="text" name="name" /></td></tr>
<tr><td>Bericht</td><td><textarea></textarea></td></tr>
</table>
</form>
<button onclick="quote()">quote</button>
</div>

<a href="javascript:void showWindow();">quote</a>
<SCRIPT LANGUAGE="JavaScript">


var g_quoteWindow = null;

function quote()
{
  new Ajax.Request( 'quote.php', {
    parameters: $('quotefrm').serialize(),
    method: 'post',
    onSuccess: function( transport ) {
       g_quoteWindow.close();
    }
  } );
}

function showWindow()
{
  g_quoteWindow = new Window( { className: 'spread', title: "quote",
    destroyOnClose: true,
    onClose:function() { $('myquoteform').style.display = 'none'; } } ); 
  g_quoteWindow.setContent( 'myquoteform', true, true );
  g_quoteWindow.showCenter();
}
</script>

</body>
</html>

Wat ik nu zou willen is dat ik bij <a href="javascript:void showWindow();">quote</a> Ergens een id zou kunnen opgeven. Dit zou dan weer achter quote.php?id=nr moeten worden geplakt omdat ik dan de rest weer met PHP kan verwerken. Echter krijg ik met geen mogelijkheid het zover dat ik een idee kan laten weer geven bij showWindow().

Iemand die mij hier me kan helpen ?
 
Zoals je kan zien gebruik ik alleen geen formulier... Ik gebruik alleen een a tag

Code:
<a href="javascript:void showWindow();">quote</a>

Ik dacht zelf er aan om op 1 of andere manier in de a tag het reactie id mee te geven, en dan in het stukje js dat id weer achter de file naam te zetten dus dat je iets in de js krijgt als

function quote()
{
new Ajax.Request( 'quote.php?id=[een js iets om id weer te geven]', {
 
Laatst bewerkt:
Ja, dat is ook wat ik bedoelde eigenlijk. Met een link kun je inderdaad niet zomaar een formulier versturen, maar met Javascript kun je wel elk element op de pagina lezen. Dus ook een input in een formulier (of niet in een formulier). Je kunt dus best een input ergens neer zetten en via javascript de waarde achter de link plakken.

Dat is heel makkelijk in te passen:
Code:
new Ajax.Request( 'quote.php?id='+$('elementID').value, .....);

Dan hoef je alleen nog ergens een input type=text met de goede ID neer te zetten.
Code:
var id = promp("Geef de ID:", "")
new Ajax.Request( 'quote.php?id='+id, .....);


Overigens, dit de language tag van het script element is niet meer in gebruik. Het is vervangen door type="text/javascript"
Code:
<script type="text/javascript">
 
Laatst bewerkt:
Bedankt!

Ik ga is kijken of ik hier uit kan komen! (had ik toch maar eens javascript geleerd!)
 
Nu heb ik een hele grote blunder begaan! Ik heb door al mijn geklooi gewoon de verkeerde code geplekt hier...

Wat ik tot nu heb (wel goede code want ik moet in qoute.php het id hebben om de reactie uit de db te kunnen halen)
Code:
<html>
<head>
<script type="text/javascript" src="javascripts/prototype.js"></script> 
<script type="text/javascript" src="javascripts/effects.js"></script>
<script type="text/javascript" src="javascripts/window.js"></script>
<script type="text/javascript" src="javascripts/window_effects.js"></script>

<link href="themes/default.css" rel="stylesheet" type="text/css" ></link>
<link href="themes/spread.css" rel="stylesheet" type="text/css" ></link>
</head>
<body>
<a href="javascript:void showWindow();">Show Window</a>
<input type="hidden" name="id" value="10" id="9">

<script type="text/javascript">
function showWindow()
{
  win = new Window( { className: 'spread', url: 'quote.php?id='+$('elementID').value});
    title: 'Quote', width:400,
    height:300, destroyOnClose: true, recenterAuto:false } ); 
  win.showCenter();
}
</script>
</body>
</html>

Ik heb er maar een input=hidden van gemaakt omdat ik geen hem niet hoef te zien. Maar zoals je voor kan stellen heb ik dadelijk meerdere reactie op een pagina. Dus dan weet de javascript ook niet meer welk idee ik gebruik zit ik me nu te bedenken.


Is het niet mogelijk om hier een id in te verwerken ? dus iets als
Code:
<a href="javascript:void showWindow([B]hier het id[/B]);">Show Window</a>

En dan die dan achter quote.php te gaan plakken ? Want zo kan ik on eindig veel link op een pagina maken naar quote.php wat anders naar mijn inziens niet kan ?
 
Tuurlijk, dat kan ook:


Code:
function showWindow([COLOR="Red"]id[/COLOR])
{
  win = new Window(
    {
      className: 'spread',
      url: 'quote.php?id='[COLOR="Red"]+id[/COLOR],
      title: 'Quote',
      width:400,
      height:300,
      destroyOnClose: true,
      recenterAuto:false
    }); 
  win.showCenter();
}
 
Laatst bewerkt:
Bedankt! Eigenlijk als ik het zie was het zo logies allemaal :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan