Javascript Prompt disablen

Status
Niet open voor verdere reacties.

pro pizza

Gebruiker
Lid geworden
24 dec 2007
Berichten
454
Hallo,
Hoe kan ik de Prompt disabelen, zodat mensen niet zelf meer iets in kunnen vullen, dit heb ik nodig omdat ik helemaal geen verstand heb van javascript en dus niet het (van internet gehaalde) script om kan bouwen.
Mvg, Ruben
 
Niet. Een prompt dient nu eenmaal om invoer te vragen.
 
Hoe zou ik dit dan wel aan kunnen passen? Hier het script:
Code:
<?php
/************************************************************
PHPchat, via XMLHttpRequest
Auteur: Jelmer van der Linde
email: Jelmervanderlinde@xs4all.nl
Licentie: Als het goed is bijgeleverd in licentie.txt.
In ieder geval, GNU GPL, todat ik anders beslis.
************************************************************/
if(!file_exists("config.php")){
    header("Location: installer.php");
    exit();
}
session_start(); ?>
<html>
<head>
<style>
body{
    padding: 0;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
fieldset.message, fieldset.warning, fieldset.notice, fieldset.error, fieldset.personal{
    display: block;
    margin: 3px;
    padding: 5px;
    -moz-border-radius: 10px;
}
fieldset.warning{
    border: 1px solid #800000;
    background: #CC0000;
    color: #ffffff;
}
fieldset.notice{
    border: 1px solid #c8c8c8;
    background: #e6e6e6;
}
fieldset.personal{
    border: 1px solid #bfc790;
    background: #eff3d4;
}
fieldset.error{
    border: 1px solid #c8c8c8;
    background: #e6e6e6;
}
legend.messageheading{
    color:#999999;
    display: block;
}
div.messagebody{
    color: #000000;
    display: block;
}
span.name{
    color:#CC0000;
}
#chatwindow{
    height: 80%;
    width:100%;
    overflow: scroll;
}
form{
    margin: 0; padding: 0;
}
tt{
    color: #990000;
}
tt .optional{
    color: #009900;
}
table{
    width: 100%;
}
table, tr, td, th{
    font-size: 12px;
}
tr{
    border-bottom: 1px solid grey;
}
</style>
<script type="text/javascript">
var timeout = 5;//hoeveel seconden tussen de updates

//einde intellingen.
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
var dead = false;
<?php
    if(isset($_SESSION['name'])){
        echo "var nickname = \"".$_SESSION['name']."\";\n";
    }
    else{
        echo "var nickname = \"annoniem\";\n";
    }
    echo "var basepath = \"http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/\";\n";
?>
var timer = 0;
var busy = false;
function setname()
{
    busy = true;
    document.getElementById("submitbutton").disabled = true;
    var d = new Date();
    var newname = prompt("Wat is je nickname", nickname);
    if(newname != null){
        xmlhttp.open("GET",basepath+"server.php?message=/NAME "+newname+"&random="+d.getFullYear()+(d.getMonth()+1)+d.getDate()+d.getHours()+d.getMinutes()+d.getSeconds(),true);
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4) {
                if(xmlhttp.responseText.indexOf("OK") != -1){
                    document.getElementById('chatwindow').innerHTML += "<fieldset class=\"notice\">"+nickname+" has changed his name to "+newname+"</fieldset>\n";
                    document.getElementById('chatwindow').scrollTop = 10000000;
                    nickname = newname;
                    update("undefined");
                }
                //else{
                //    alert("Failed to set nickname:\n"+xmlhttp.responseText);
                //    dead = true;
                //}
            }
        }
        busy = false;
        xmlhttp.send(null);
    }
    else
    {
        document.getElementById("submitbutton").disabled = false;
        busy = false;
        return true;
    }
    document.getElementById("submitbutton").disabled = false;
    busy = false;
}

function setaway()
{
    document.getElementById("submitbutton").disabled = true;
    var d = new Date();
    xmlhttp.open("GET",basepath+"server.php?message=/AWAY&random="+d.getFullYear()+(d.getMonth()+1)+d.getDate()+d.getHours()+d.getMinutes()+d.getSeconds(),true);
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4) {   
            if(xmlhttp.responseText.indexOf("OK") != -1){
                document.getElementById('chatwindow').innerHTML += "<fieldset class=\"notice\">Lastid is has successfully reset to zero</fieldset>\n";
                document.getElementById('chatwindow').scrollTop = 10000000;
                dead = true;
            }
            else{
                alert("Failed to reset your id:\n"+xmlhttp.responseText);
                dead = true;
            }
        }
    }
    xmlhttp.send(null);
    document.getElementById("submitbutton").disabled = false;
}


function update(bericht)
{
    if(bericht.toUpperCase() == "/DISCONNECT"){
        setaway;
        dead = true;
    }
    if(bericht != "" && busy != true && dead != true){
        busy = true;
        document.getElementById("submitbutton").disabled = true;
        timer = timeout;
        var d = new Date()
        if(bericht == "undefined"){
            var url = "server.php?random="+d.getFullYear()+(d.getMonth()+1)+d.getDate()+d.getHours()+d.getMinutes()+d.getSeconds();
        }
        else{
            var url = "server.php?message="+bericht+"&random="+d.getFullYear()+(d.getMonth()+1)+d.getDate()+d.getHours()+d.getMinutes()+d.getSeconds();
        }
        xmlhttp.open("GET",basepath+url,true);//method, target, async (set always true!)
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4) {
                if(xmlhttp.responseText != "" && xmlhttp.responseText != " "){
                    if(xmlhttp.responseText.indexOf("SETNAME") != -1)
                    {
                        setname();
                    }
                    else{
                        var rows = xmlhttp.responseText.split("\n");
                        for(i = 0; i <= rows.length-1; i++)
                        {
                            var data = rows[i].split("||");
                            if(data[0] == "OK"){    var type = data[1];}
                            else{                    var type = data[0];}
                            switch(type.toUpperCase()){
                            case "DIE":
                                if(data[0] == "OK"){data[0]=data[1];data[1]=data[2];}
                                document.getElementById('chatwindow').innerHTML += "<fieldset class=\"error\"><div class=\"messagebody\">"+data[1]+"</div></fieldset>\n";
                                dead=true;
                                break;
                            case "MESSAGE":
                                if(data[0] == "OK"){data[0]=data[1];data[1]=data[2];data[2]=data[3],data[3]=data[4],data[4]=data[5];}
                                   document.getElementById('chatwindow').innerHTML += "<fieldset class=\"message\"><legend class=\"messageheading\"><span class=\"id\">"+data[1]+"</span><span class=\"name\">"+data[2]+"</span> said on "+data[3]+":</legend><div class=\"messagebody\">"+data[4]+"</div></fieldset>\n";
                                break;
                            case "NOTICE":
                                if(data[0] == "OK"){data[0]=data[1];data[1]=data[2];data[2]=data[3],data[3]=data[4],data[4]=data[5];}
                                document.getElementById('chatwindow').innerHTML += "<fieldset class=\"notice\"><div class=\"messagebody\">"+data[4]+"</div></fieldset>\n";
                                break;
                            case "PERSONAL":
                                if(data[0] == "OK"){data[0]=data[1];data[1]=data[2];}
                                document.getElementById('chatwindow').innerHTML += "<fieldset class=\"personal\"><div class=\"messagebody\">"+data[1]+"</div></fieldset>\n";
                                break;
                            case "WARNING":
                                if(data[0] == "OK"){data[0]=data[1];data[1]=data[2];}
                                document.getElementById('chatwindow').innerHTML += "<fieldset class=\"warning\"><div class=\"messagebody\">"+data[1]+"</div></fieldset>\n";
                                break;
                            default:
                                document.getElementById('chatwindow').innerHTML += "<fieldset class=\"error\">"+xmlhttp.responseText+"</fieldset>\n";
                                break;
                            }
                            document.getElementById('chatwindow').scrollTop = 10000000;
                        }
                    }
                }
            }
        }
        xmlhttp.send(null);
        busy = false;
        document.getElementById("submitbutton").disabled = false;
    }
    else{ if(dead){
        if(bericht.toUpperCase() == "/CONNECT"){
            dead = false;
            counter();
            document.getElementById('chatwindow').innerHTML = "<fieldset class=\"Notice\">Client has been reset.</fieldset>\n";
        }
    }}
}

function counter()
{
    if(!dead){
        if(timer <= 0)
        {
            update("undefined");
            timing = setTimeout("counter()", 1000);
        }
        else{
            timer = timer-2;
            timing = setTimeout("counter()", 1000);
        }
    }
    else{
        clearTimeout(timing)
        document.getElementById('chatwindow').innerHTML += "<fieldset class=\"error\">Client terminated. Please reload this page to restart the chat.</fieldset>\n";
    }
}
</script>
</head>
<body onunload="setaway()">
<div id="chatwindow"></div>
<form name="formulier" onSubmit="javascript: update(document.getElementById('chattext').value);document.getElementById('chattext').value = '';return false;">
    <input type="text" id="chattext" name="chattext" maxlength="256" style="width: 450px; "/>
    <input type="submit" id="submitbutton" value="Say!" style="width:150px; "/>
    <input type="button" onClick="setname()" value="andere naam"/>
</form>
<script>
    counter();
</script>
<br/>
</body>
</html>

Nu moet dit script niet om een naam vragen maar $data->login (dus de login naam) automatisch als naam gebruiken, dit moet ook niet aanpasbaar zijn door de gebruiker, als iemand dit voor mij zou willen aanpassen zou ik dat heel fijn vinden:D aangezien ik zelf dus geen verstand heb van javascript.
Mvg, Ruben
 
Maak van:

PHP:
var newname = prompt("Wat is je nickname", nickname);

PHP:
var newname = '<?php echo $data->login; ?>';

En met dit script kan de gebruiker altijd in z'n adresbalk invoeren:

PHP:
javascript:newname='Erik';
 
Laatst bewerkt:
Het is Javascript; de gebruiker kan het altijd aanpassen. Nooit van uit gaan dat javascript werkt, het is client side :)
 
Kan iemand het dan misschien ombouwen tot html/php? alleen het gedeelte van inloggen, dsu dat dat niet meer hoeft, en dat autmotisch hun naam $data-login (loginnaam van de site) wordt gebruikt, die verander naam button krijgik zelf wel weg:P
Mvg, Ruben
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan