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

    simulare la pressione di un bottone [aiuto]

    salve, ho la necessita di cliccare in automatico un bottone di un form, purtroppo non basta soltato il semplice document.form.submit() devo cliccare proprio il bottone poichè essendo un form dinamico viene eseguito correttamente soltanto se riconosce l'id del bottone che viene cliccato! per cui mi servirebbe l'equivalente di quello che avrebbero fatto in visualbasic xD
    bottone.click(); o una cosa del genere...si può fare?

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    posta il codice

  3. #3
    codice:
    <?php
    
    if(eregi("Riepilogo.php",$_SERVER['PHP_SELF'])) {
            die();
    }
    $params = array("smstipodest", "PrefissoMessaggio", "NumeroMessaggio", 
    		"MittenteMessaggio", "TestoMessaggio", "UrlCliente", 
    		"tptarget", "smsflash", "smspubblicit");
    
    foreach($params as $pname) {
    	if(isset($_COOKIE["$pname"])) {
    		$$pname = htmlentities(stripslashes($_COOKIE["$pname"]));
    	} else {
    		$$pname = "";
    	}
    }
    
    ?>
    
    <html>
    <head>
    <title><?php if(isset($Titolo)) { echo $Titolo; } ?></title>
    
    <style type="text/css"><!--
    .bianco10sx { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; text-decoration: none; text-align: left; color: #FFFFFF}
    .rex { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; text-decoration: none; color: #B92203; text-align: justify}
    .lau { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; text-decoration: none; color: #000000; text-align: justify}
    --></style>
    <Script Language="JavaScript" src="FileMain.js"></Script>
    </head>
    
    <body  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" OnUnload="DeleteFile()">
    <Script Language="JavaScript">
    var now = new Date()
    var CancFile = ""
    
    function DeleteFile()
    {
    	if (CancFile == "")
    	{
    	    delCookie("TestoMessaggio")
    	    delCookie("NumeroMessaggio")
    	    delCookie("PrefissoMessaggio")
    	    delCookie("MittenteMessaggio")
    	    delCookie("smstipodest")
    	    delCookie("tptarget")
    	    delCookie("UrlCliente")
    	    delCookie("<?php echo $RandID; ?>")
    
    	    window.open("ProxyPage.php?TipoOperazione=CANCFILE&RandID=<?php echo $RandID; ?>","finestra","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=20,height=20,top=200,left=450")
    	}
    }
    
    function AbilitaDeleteFile()
    {
    	CancFile = "KO"
    	PathReferer = document.location.host + document.location.pathname
    	document.FormAttivo.PathReferer.value = PathReferer
    }
    
    </Script>
    
    
    <form method="POST" action="http://sms.aruba.it/Secure_inviasmsdomini.asp" 
    	Name="FormAttivo" Method="POST" OnSubmit="AbilitaDeleteFile()">
    <table border="0" cellPadding="0" cellSpacing="0" align="center" width="335" height="240">
    	<tr>
    	<td align="center" valign="middle" height="10">
    	<table border="0" cellPadding="0" cellSpacing="5" align="center" width="315" 
    			class="lau" bgcolor="#FFFFFF">
    		<tr>
    		<td align="center" height="15" valign="middle">
    		<font class="rex">L'SMS verr&agrave; inviato con i seguenti dati:<font></td>
    		</tr>	
    		<tr>
    		<td align="center" height="25">
    		<table class="lau" border="0">
    			<tr>
    			<td>Numero: </td>
    			<td>+<font class="rex"><?php
    			echo $PrefissoMessaggio . $NumeroMessaggio; ?></font></td>
    			</tr>
    		</table>
    		</td>
    		</tr>
    		<tr>
    		<td align=center height="10">
    		<table class="lau" border="0">
    			<td>Mittente:</td>
    			<td><font class="rex"><?php
    			echo $MittenteMessaggio ?></font>[/b]</td>
    		</table>
    		</td>
    		</tr>
    	</table>
    	</td>
    	</tr>
    	<tr>
    	<td valign="bottom" align="center" height="20" >
    	<font class="lau">Testo del messaggio:</font></td>
    	</tr>
    	<tr>
    	<td valign="top" align="center" height="65" ><textarea cols="6" rows="3" style="WIDTH: 290px" type="text" name="smstesto" onkeyup="javascript:messcontacar();" onchange="javascript:messcontacar();" style="" contenteditable=false><?php 
    	echo $TestoMessaggio ?></textarea>
    	</td>
    	</tr>
    	<tr>
    	<input type="hidden" name="RandID" value="<?php echo $RandID; ?>">
    	<input type="hidden" name="RiepilogoFatto" value="SI">
    	<input type="hidden" name="UrlCliente" value="<?php 
    		echo "http://" . $UrlCliente; ?>">
    	<input type="hidden" name="IDCodSMS" value="<?php echo $IDCodSMS; ?>">
    	<input type="hidden" name="smstipodest" value="<?php
    		echo $smstipodest; ?>">
    	<input type="hidden" name="tptarget" value="<?php
    		echo $tptarget; ?>">
    	<input type="hidden" name="smsmittente" value="<?php
    		echo $MittenteMessaggio; ?>">
    	<input type="hidden" name="smsprefcell" value="<?php
    		echo $PrefissoMessaggio; ?>">
    	<input type="hidden" name="smsdestinatario" value="<?php
    		echo $NumeroMessaggio; ?>">
    	<input type="hidden" name="smsflash" value="<?php
    		echo $smsflash; ?>">
    	<input type="hidden" name="smspubblicit" value="<?php
    		echo $smspubblicit; ?>">
    	<input type="hidden" name="PathReferer" value="">
    		
    	<td align="center"><input type="Image" name='btn' src="prosegui.gif" Style="cursor:hand"></td>
    	</tr>
    </table>
    <Script Language="JavaScript">
    //qui mi deve cliccare il bottone btn
    
    </Script>
    </form>
    </body>
    </html>
    ho postato tutta la pagina cmq visto che ci siamo faccio un riassuntino di quello che fa, partendo dalla pagina invio.php dove abbiamo un form per inserirre dei dati in input (telefono, oggetto, messaggio) attraversanto una serie di pagine arriviamo a questa pagina che mi è stata fornita da aruba, questa pagina è un form di conferma per l'invio dell'sms che ho definito nelle pagine precedenti...adesso io vorrei saltare questo form di conferma per inviare la richiesta direttamente ad aruba...ho provato quindi ad utilizzare document.FornAttivo.submit() che mi restituisce un errore dal sito di aruba.
    ho rimosso il codice e arrivati a questa pagina cliccando manualmente il bottone tutto funziona quindi ne ho tratto le conclusioni che il form riconosce l'id del bottone per cui cliccando il bottone in javascript dovrebbe funzionare!

    grazie dimmi pure se sono stato poco chiaro!

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Adesso è chiaro. Richiamare l'azione submit tramite javascript non scatena gli eventi ad essa collegati. Guarda quest'esempio per rendertene conto:

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="it" />
    <title>Esempio per il Forum di HTML.it</title>
    </head>
    <body>
    
    <form onsubmit="alert('Questo alert viene lanciato automaticamente con l\'evento submit.');" name="miaForm" action="azione.php" method="get">
    
    
    <span onclick="document.miaForm.submit();" style="cursor:pointer;text-decoration:underline;color:#0000ff;">Invia tramite javascript</span>
    
    <input type="submit" value="Invia tramite bottone" /></p>
    </form>
    
    </body>
    </html>
    Quando usi javascript devi perciò richiamare sia l'evento che verrebbe scatenato se il bottone venisse premuto che il submit vero e proprio del form... così:

    codice:
    AbilitaDeleteFile();document.FornAttivo.submit();

  5. #5
    funziona! grazie! e ho cpt anche il perchè! richiamando solo il submit non viene chiamata la funziona Abilita....ecc per cui la richiesta non poteva essere inviata correttamente....quando invece viene premuto il bottone viene prima chiamata la funzione abilita....ecc richiamata dall evento onclick e poi eseguita l'action del form per cui fare quello che hai postato tu è già di per se la simulazione del click sul bottone

    xD scusa la storiella ma ci stava!

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Ricordati che questo vale per qualsiasi azione richiamata manualmente via javascript: se c'è un evento ad essa associato, dovrai richiamare anch'esso "a mano".


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 © 2026 vBulletin Solutions, Inc. All rights reserved.