Seite 1 von 1
[AJAX] Progressbar
Verfasst: 09.01.2010 12:38
von netzcoder
Hallo,
ich wollte einen AJAX Progress Bar schreiben. Doch bei Google gibt es nur ganze Pakete und keinen einfachen Source. Soll nichts besonderes sein. Hat jemand eine Idee wie man so etwas anstellt?
Euer netzcoder
Re: [AJAX] Progressbar
Verfasst: 09.01.2010 15:29
von Tur0k
Für welchen Zweck?
Upload? Preload? usw.
Re: [AJAX] Progressbar
Verfasst: 09.01.2010 15:51
von netzcoder
Einfach um die Prozentzahl eines Vorgangs anzuzeigen. Ich ahb die % Werte ich brauche nur den Balken.
Re: [AJAX] Progressbar
Verfasst: 09.01.2010 18:14
von TomS
Wo ist das Problem?
Machste 100 Div-Elemente, stellst die alle auf Invisible und setzt dann mit ner For-Schleife alle auf Visible.
Code: Alles auswählen
aktuelles_element = wo_auch_immer_du_den_wert_hernimmst
For element = letztes_element To aktuelles_element ;//PB Pseudocode^^
div[element].style.display = "inline";
Next
letztes_element = aktuelles_element
Re: [AJAX] Progressbar
Verfasst: 09.01.2010 19:08
von Shadow-Gamer
du hast schon die Prozente u. willst es nur noch darstellen? dann mach doch 1 div container mit HG Farbe, welchen du mit JavaScript von der größe her anpasst
PS:habs bestimmt falsch verstanden, aber ein versuch ist es wert^^
Re: [AJAX] Progressbar
Verfasst: 09.01.2010 20:10
von netzcoder
Ja das stimmt. Ich poste mal das Script:
Code: Alles auswählen
<?php
if(isset($_GET['send']))
{
/*
//$_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;
$text = $_POST["text"];
$empfaenger = $_POST["receiver"];
$betreff = $_POST["subject"];
$sender = $_POST["sender"];
$sendermail = $_POST["sendermail"];
$count = 1;
mail($empfaenger, $betreff, $text,"From: $sender <$sendermail>");*/
echo("Es funzt");
}
else
{
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>E-Mail-Versand</title>
<style type="text/css">
body
{
font-family:Arial,Helvetica,sans-serif;
}
</style>
<script type="text/javascript">
var http_request = false;
var error = "";
function makePOSTRequest(url, parameters)
{
http_request = false;
if(window.XMLHttpRequest)
{ // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
}
else if(window.ActiveXObject)
{
// IE
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!http_request)
{
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//http_request.setRequestHeader("Content-length", parameters.length);
//http_request.setRequestHeader("Connection", "close");
//http_request.send(parameters);
http_request.send(null);
}
function makeRequest(url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url + parameters, true);
http_request.send(null);
}
function alertContents()
{
if (http_request.readyState == 4)
{
if (http_request.status == 200)
{
alert("geschafft");
//result = http_request.responseText;
//document.getElementById('myspan').innerHTML = result;
}
else
{
error = "There was a problem with the request.\nError Code:" + http_request.status;alert(error);
}
}
}
function send()
{
alert("start sending");
var act = document.getElementById("act");
act.innerHTML = "<div style='height:20px;width:100%;'><p style='height: 100%; width: 50%;background-color: red;' id='percentage'></p></div>";
var poststr = ""
poststr + "sendermail" + encodeURI( document.getElementById("sendermail").value );
poststr + "&sender=" + encodeURI( document.getElementById("sender").value );
poststr + "&receiver=" + encodeURI( document.getElementById("receiver").value );
poststr + "&subject=" + encodeURI( document.getElementById("subject").value );
poststr + "&text=" + encodeURI( document.getElementById("text").value );
var total = document.getElementById("countmails").value;
for(var i=0; i<total; i++)
{
makeRequest('http://www.google.de', poststr);
document.getElementById("percentage").style.width = (i/total*100)+"%";
alert((i/total*100)+"%");
}
//act.innerHTML = '<input type="button" value="E-Mails absenden!" onsubmit="send();return false;">';
if(error != "")
alert(error);
return false;
}
</script>
</head>
<body>
<form method="" action="">
<table>
<tr>
<td>Anzahl der E-Mail's die versendet werden sollen:</td>
<td><input type="text" name="countmails" id="countmails" value="100"></td>
</tr>
<tr>
<td>E-Mail Adresse (Absender):</td>
<td><input type="text" name="sendermail" id="sendermail" value=""></td>
</tr>
<tr>
<td>Name (Absender):</td>
<td><input type="text" name="sender" id="sender" value=""></td>
</tr>
<tr>
<td>E-Mail Adresse (Empfänger):</td>
<td><input type="text" name="receiver" id="receiver" value=""></td>
</tr>
<tr>
<td>Betreff:</td>
<td><input type="text" name="subject" id="subject" value=""></td>
</tr>
<tr>
<td>Text:</td>
<td><textarea name="text" cols="30" rows="10" id="text">
</textarea></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td id="act"><input type="button" value="E-Mails absenden!" onclick="send();return false;"></td>
<td></td>
</tr>
</form>
</table>
</body>
</html>
<?php
}
?>
Nun er sendet leider nicht die Mails das hat vorher geklappt!