Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    replace non sostituisce palole nell'href di un link

    buonasera... ho un problema con replace e non so come risolverlo:
    io prendo da un link il valore href e sostituisco unaparola con un altra in questo modo:

    codice:
      
    payTypeListener: function(event)
    {  
       var radio = this;     
       var link =  document.getElementById("finish-chart");     
       var dest = link.href; 	  
       var banca = new RegExp("banca");   
       var postale = new RegExp("postale"); 	 	
    
       if(radio.value == "postale") 	{ 	  
         dest.replace(banca,'postale'); 	  
         alert(dest); 	
       }else{ 	  
         dest.replace(postale,'banca'); 	  
         alert(dest); 	
       } 	 	
    
        link.href = dest;   
    }
    non la modifica per niente la stringa... perchè??????

    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    var radio = this;
    ....
    if(radio.value == "postale") {

    la prima riga non l'ho capita... ma non conosco il framework che stai usando e quindi non mi pronuncio (comunque mi sembra strana )

    noto che come nome variabile usi una parola riservata... almeno mettici una maiscola

    Se poi l'oggetto e' veramente un controllo radio il suo valore non si ricava cosi'... sempreche' non si riparli le framework a me ignoto.

    ciao

    ps: guarda per per fare un replace non e' necessario creare una RegExp
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Originariamente inviato da br1
    var radio = this;
    ....
    if(radio.value == "postale") {

    la prima riga non l'ho capita... ma non conosco il framework che stai usando e quindi non mi pronuncio (comunque mi sembra strana )

    noto che come nome variabile usi una parola riservata... almeno mettici una maiscola

    Se poi l'oggetto e' veramente un controllo radio il suo valore non si ricava cosi'... sempreche' non si riparli le framework a me ignoto.

    ciao

    ps: guarda per per fare un replace non e' necessario creare una RegExp
    perdonami, ma non sono bravissimo in js...
    quale parola riservata ho usato??

    come si ottine il valore da un oggetto radio???

    quale è secondo te il problema del replace???

    ciao e grazie!!

    marco
    warcomeb - IL LEADER O.O.O.

  4. #4
    mi sono dimenticato di dire che con search, all'interno dell'href del link me la trova la parola che devo sostituire!

    ps. non utilizzo nessun framework... è un modo di fare che ho trovato in un libro, la funzione listener la chiamo così:
    codice:
    var paytype = MAHSCore.getElementsByClass("paytype");
    for(var k = 0; k < paytype.length; k++)
    {
       MAHSCore.addEventListener(paytype[k], "change", GestPay.payTypeListener);
    }
    ciao ciao

    grazie
    warcomeb - IL LEADER O.O.O.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non sono sicuro d'aver capito quello che vuoi fare, vedi se questo può aiutarti:
    codice:
    <!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">
    	<head>
    		<title>Documento senza titolo</title>
    		<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
            <script type="text/javascript">
            function payTypeListener(pag){
       var pagina = "";  
       var buy =  document.getElementById("buy");     
       if(pag.value == "banca"){
       //imposti il testo del link 	  
         buy.innerHTML = "pagamento banca";
    	 //imposti la pagina di destinazione per il pag banca
    	 pagina = "default.asp"
       }else{ 	  
         buy.innerHTML = "pagamento postale" ; 	  
         pagina = "test.asp"; 	
       }
       //associo al click la pagina in base al broser	 	
        if(buy.attachEvent) buy.attachEvent('onclick',function(){location.href=pagina})
    		else if(buy.addEventListener) buy.addEventListener('click',function(){location.href=pagina},false)   
    } 
    </script>
    	</head>
    	<body>
    	<form id="form1" method="post" action="">
    	  <fieldset><legend>Pagamento</legend><input type="radio" name="pag" id="pagA" value="banca" onclick="payTypeListener(this)" /> Bancario
    	  <input type="radio" name="pag" id="pagB" value="postale" onclick="payTypeListener(this)" /> Postale
                Come vuoi pagare?</fieldset>
    	</form>
    </body>
    </html>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6

    grazie... ora funziona!

    non era perfettamente quello che desideravo fare, ma è stato un ottimo aiuto per raggiungere la soluzione finale.... quindi GRAZIE!!!

    siccome sono molto curioso, qualcuno mi dice cosa non andava nel mio script iniziale??

    grazie

    Marco
    warcomeb - IL LEADER O.O.O.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.