onclick werkt in ff maar niet in de rest

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ralph van der Tang

ralph van der Tang

27/03/2013 16:24:26
Quote Anchor link
hoi iedereen,

ik heb een probleem en wel de volgeende

ik heb een onclick gemaakt on een website waarin de gebruiker een taal kan selecteren.

deze werkt in FF maar niet in ie10 en chrome

iemand een suggestie?

code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$sql
='SELECT `id`,`iso` FROM `languages` WHERE `active`= 1';
$result=Database::execute($sql);
                                                
foreach($result as $flag)
{

self::$toolbar .='<img src="'.Settings::$url.'/images/language/'.$flag['iso'].'.png" class="margin-left"onClick="setSessionLang('.$flag['id'].')"></img>';
}
?>

</html>

hier worden de taalvlaggetjes gegenereerd met daarin de onclick functie.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
function __autoload($class_name)
   {

    include_once('./../includes/class_'. strtolower($class_name) . '.php');
    }

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function setSessionLang(id)
{

    $.ajax(
            {

                type: "POST",
                url:"<?php echo Settings::$url;?>/"+ReadCookie('lang')+"/ajax/language/setsession",
                data:{id:id},
                dataType: 'json',
                success: function(data){
                
                }
            });
}

?>

de javascript readCookie is iets van voor mijn tijd en heb uitgevonden dat je het niet kan weglaten dus die laten we dan maar staan.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    public function language()
    {

        if($this->arguments[0] == 'setsession')
        {

            session_start();
            if($id=$_POST['id']){
                $_SESSION['language'] = $id;
            }

            
            if(isset($_SESSION['language']))
            {

                echo json_encode($_SESSION['language']);
            }
else{
                echo json_encode(array('success' => false));
            }
        
        }
    }

?>

de functie waarin het id van de taal in de sessie wordt gezet

en de functie waarin het gebruikt wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php    
public static function get($tag)
    {

        $sql="    SELECT `content`
                FROM `tagtexts`    
                WHERE `tag_name`="
.Database::quote($tag)."
                AND `languages_id`="
.Database::quote($_SESSION['language'])."
                "
;    
        $res=Database::execute($sql);
        return $res[0]['content'];
    }

?>
Gewijzigd op 27/03/2013 16:26:32 door Ralph van der Tang
 
PHP hulp

PHP hulp

22/11/2024 10:04:11
 
Wouter J

Wouter J

27/03/2013 16:37:06
Quote Anchor link
- Onclick is JavaScript. Laat alsjeblieft alleen de code zien die je krijgt in je broncode, PHP hebben we niks aan.
- Als iets geen PHP is moet je [code] tags gebruiken
 
Ralph van der Tang

ralph van der Tang

27/03/2013 18:46:45
Quote Anchor link
het java script staat er tussen zal hem hieronder nogmaals kopieren


Toevoeging op 27/03/2013 18:47:13:

function setSessionLang(id)
{
$.ajax(
{
type: "POST",
url:"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo Settings::$url;?>
/"+ReadCookie('lang')+"/ajax/language/setsession",
data:{id:id},
dataType: 'json',
success: function(data){

}
});
}

Toevoeging op 27/03/2013 18:47:40:

het is een php bestand omdat ik de class settings moet inladen

Mvg ralph
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/03/2013 18:53:12
Quote Anchor link
haal je html eens door de w3c validator want als je html niet correct is dan kan dat de nodige problemen veroorzaken

Toevoeging op 27/03/2013 18:55:41:

overigens waarom gebruik je ajax voor het selecteren van een taal en niet gewoon een normaal formulier?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.