|
Speziellen Rechner der Werte addiert vor 1 Monat, 1 Woche
|
Karma: 0
|
Suche jemanden der mir ein benutzerdefinierten Rechner in Java schreibt, damit ich das Script auf meiner Homepage integrieren kann. Nichts aufweniges denk ich
Sollte wie folgt funktionieren:
Der Besucher soll die Möglichkeit haben die Menge von verschiedenen Gegenständen festzulegen.
Gegenstand 1 - Gewicht: 500g
Gegenstand 2 - Gewicht: 700g
Gegenstand 3 - Gewicht: 300g
Beispiel für die Auswahl des Besuchers:
5 x Gegenstand 1
3 x Gegenstand 1
0 x Gegenstand 1
Das Script gibt dann einen Wert in Kg aus: 4,6Kg
Den Gegenständen sollte man am besten durch eine Wert Änderung im Code ein anderes Gewicht und einen Namen zuordnen können. Es sollte auch die Möglichkeit bestehen weitere Gegenstände hinzuzufügen oder zu entfernen. Das ganze sollte per CSS formatierbar sein.
Ist sowas möglich?
Schönes Wochenende
LM
|
|
|
|
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat, 1 Woche
|
Karma: 27
|
Hallo,
ich hab dir ein passendes Javascript geschrieben
Hier ist der Code:
| Code: |
<table border="0" bgcolor="#F9F9F9" style="border: 1px solid #CCCCCC">
<tr>
<td align="center">
<input type="button" value="neuer Gegenstand" onclick="javascript:neuer_Gegenstand()">
<input type="button" value="Gegenstand löschen" onclick="javascript:Gegenstand_loeschen()"></td>
</tr>
<tr>
<td align="center">
<form name="Gegenstandsform" action="">
<input type="text" size="2" value="1"> x Gegenstand 1 - Gewicht: <input type="text" size="5" value="0">g<br>
<input type="text" size="2" value="1"> x Gegenstand 2 - Gewicht: <input type="text" size="5" value="0">g<br>
<input type="text" size="2" value="1"> x Gegenstand 3 - Gewicht: <input type="text" size="5" value="0">g
</form>
</td>
</tr>
<tr>
<td>
<hr>
</td>
</tr>
<tr>
<td>
<form name="Ergebnisform" action="">
Ergebnis: <input type="text" name="Ergebnis" value="0" size="10">
<select name="Einheit" size="1">
<option selected value="1">g</option>
<option value="100">dag</option>
<option value="1000">kg</option>
</select>
<p><input type="button" value="berechnen" onclick="javascript:Berechnen()"><br>
</form>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
var lt = unescape("%3C");
var uInnerHTML = (document.Gegenstandsform.innerHTML ? 1:0);
var uNode = (((document.appendChild)&&(document.createElement)&&(document.createTextNode)&&(document.body.lastChild)&&(document.body.removeChild)&&(document.body.setAttribute)) ? 1:0);
var Anzahl_Gegenstaende = 3;
function Berechnen()
{
var das_Ergebnis = 0;
with(document.Gegenstandsform)
{
var die_Anzahl = 0;
var das_Gewicht = 0;
for(var i=0;i<elements.length/2;i++)
{
die_Anzahl = parseInt(elements[i*2].value);
das_Gewicht = parseInt(elements[i*2+1].value);
if(die_Anzahl+""=="NaN")
die_Anzahl = 0;
if(das_Gewicht+""=="NaN")
das_Gewicht = 0;
das_Ergebnis += die_Anzahl*das_Gewicht;
}
}
with(document.Ergebnisform)
Ergebnis.value = das_Ergebnis/parseInt(Einheit.value);
}
function neuer_Gegenstand()
{
if(uInnerHTML>0)
document.Gegenstandsform.innerHTML += lt+'br>'+lt+'input type="text" size="2" value="1"> x Gegenstand '+((Anzahl_Gegenstaende++)+1)+' - Gewicht: '+lt+'input type="text" size="5" value="0">g';
else if(uNode>0)
{
var Element1 = document.createElement("input");
var Element2 = document.createElement("input");
with(Element1)
{
setAttribute("type","text");
setAttribute("size","2");
setAttribute("value","1");
}
with(Element2)
{
setAttribute("type","text");
setAttribute("size","5");
setAttribute("value","0");
}
with(document.Gegenstandsform)
{
appendChild(document.createElement("br"));
appendChild(Element1);
appendChild(document.createTextNode(" x Gegenstand "+((Anzahl_Gegenstaende++)+1)+" - Gewicht: "));
appendChild(Element2);
appendChild(document.createTextNode("g"));
}
}
}
function Gegenstand_loeschen()
{
if(uInnerHTML>0)
{
if(Anzahl_Gegenstaende>1)
{
Anzahl_Gegenstaende--;
var alle_Gegenstaende = document.Gegenstandsform.innerHTML;
alle_Gegenstaende = alle_Gegenstaende.substring(0,alle_Gegenstaende.lastIndexOf("g")-1);
document.Gegenstandsform.innerHTML = alle_Gegenstaende.substring(0,alle_Gegenstaende.lastIndexOf(">g"))+">g";
}
else
alert("Es muss mindestens ein Gegenstand vorhanden sein!");
}
else if(uNode>0)
{
if(Anzahl_Gegenstaende>1)
{
Anzahl_Gegenstaende--;
with(document.Gegenstandsform)
{
for(var i=0;i<5;i++)
removeChild(lastChild);
}
}
else
alert("Es muss mindestens ein Gegenstand vorhanden sein!");
}
}
//-->
</script>
|
Das Javascript berechnet aus den Gewichten und deren Anzahl die Gesamtsumme, wobei sich Eingabefelder hinzufügen und auch wieder entfernen lassen. Die letzte Eingabe lässt sich dabei aber nicht löschen. Wenn man es trotzdem versucht, erscheint eine Textbox mit einer Meldung.
Das gesamte HTML-Gerüst kannst du natürlich mit CSS bearbeiten. Schriftformationen solltest du aber ohne <font> machen, weil man dafür das Javascript nämlich auch umschreiben müsste. Außerdem ist es mit CSS viel einfacher  Das Javascript ansich ist aber etwas länger geworden, weil der Netscape die Javascript-Eigenschaft innerHTML nicht unterstützt und man da neue HTML-Elemente etwas umständlicher erstellt.
Das Javascript funktioniert eigentlich in allen Browsern, die Javascript unterstützen. Die Funktion zum Eingaben hinzufügen und löschen aber nur in Browsern, die innerHTML und/oder die Funktionen des node-Objekt unterstützen (das tun aber eh alle modernen Browser  ).
Ich hoffe, ich konnte dir helfen 
|
|
|
|
liebe Grüße
Super Mario
Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat, 1 Woche
|
Karma: 0
|
Wow, danke für die schnelle Hilfe
Das sieht so erstmal garnicht so schlecht aus. Allerdings hab ich das jetzt auf IE8, Firefox und Chrome getestet aber es reagiert leider nicht wenn man auf berechnen klickt oder neuen Gegestand hinzufügen/löschen.
Insgesamt sollte das hinzufügen/löschen von weiteren Gegenständen auch nur für mich möglich sein, also durch hinzufügen eines Codebausteines und nicht für den Besucher, da habe ich mich wahrscheinlich unklar ausgedrückt. Auch das Gewicht muss für den Besucher nicht angezeigt werden und falls das möglich ist sollte die Mengenauswahl mit so einer kleinen dropdown Auswahl sein, so wie man es von Formularen kennt, bei denen man das Alter oder ein Geburtsdatum auswählt.
Falls dir das nicht zuviel Arbeit ist, wäre es super wenn du das so hinkriegst. Ich würde mich auch erkenntlich Zeigen und dir einen Backlink von einem meiner PR3 Blogs mit gewünschtem Key spendieren, falls es dich interessiert?
Schönen Sonntag noch 
|
|
|
|
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat, 1 Woche
|
Karma: 27
|
Komisch. Ich hab den Code auch im IE 8.0 und Chrome getestet und da lief er ganz normal
Aber egal. Ich hab dir den Code jetzt so umgeschrieben, dass nur du die Felder einstellen kannst und dass es auch nur die Dropdown-Menüs zum Auswählen der Anzahl gibt  Ich hoffe ich hab das richtig verstanden, dass der Besucher nur die Gegenstände sieht (ohne Gewichtsangabe) und er nur die Anzahl einstellen kann.
Hier ist der neue Code:
<table border="0" bgcolor="#F9F9F9" style="border: 1px solid #CCCCCC">
<tr>
<td align="center">
<form name="Gegenstandsform" action="">
<select name="Gegenstand" size="1" id="500">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 1<br>
<select name="Gegenstand" size="1" id="300">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 2<br>
<select name="Gegenstand" size="1" id="100">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 3
</form>
</td>
</tr>
<tr>
<td>
<hr>
</td>
</tr>
<tr>
<td>
<form name="Ergebnisform" action="">
Ergebnis: <input type="text" name="Ergebnis" value="0" size="10">
<select name="Einheit" size="1">
<option selected value="1">g</option>
<option value="100">dag</option>
<option value="1000">kg</option>
</select>
<p><input type="button" value="berechnen" onclick="javascript:Berechnen()"><br>
</form>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
function Berechnen()
{
var das_Ergebnis = 0;
for(var i=0;i<document.Gegenstandsform.Gegenstand.length;i++)
{
with(document.Gegenstandsform.Gegenstand[i])
das_Ergebnis += parseInt(options[selectedIndex].text)*parseInt(id);
}
with(document.Ergebnisform)
Ergebnis.value = das_Ergebnis/parseInt(Einheit.value);
}
//-->
</script>
Ich hab's jetzt mal so eingestellt, dass der Besucher bei jedem Gegenstand zwischen 0 bis 5 Stück entscheiden kann (0 ist am anfang ausgewählt). Du kannst aber ruhig auch ein paar options hinzufügen oder löschen, wird alles vom Javascript übernommen. Aus den selects liest das Javascript übrigens auch die Gewichtsangabe aus, die der jeweilige Gegenstand hat. Die wird einfach als Zahl in der id des jeweiligen select eingetragen (im Code rot markiert).
Und wenn du einen neuen Gegenstand einfügen willst, musst du nur diesen Abschnitt zu den anderen hinzufügen:
<select name="Gegenstand" size="1" id="200">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 4
Bei diesem Gegenstand ist 200g als Gewicht eingestellt.
|
|
|
|
liebe Grüße
Super Mario
Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat, 1 Woche
|
Karma: 0
|
|
Ja, da kommen wir dem was ich brauche doch immer näher. Bis auf dass das Ergebnis nur in Kg ausgegeben werden soll, also ohne Gramm und dag.
Also bei mir gehts immernoch nicht, auf 2 Computern und verschiedenen Blogs getestet aberrrr ich glaube ich mach da eventuell einen Fehler.
Muss ich etwas beachten beim einbinden in meinen Blog oder einfach den Code reinkopieren in einen Beitrag oder auf eine Seite?
LG
LM
|
|
|
|
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat, 1 Woche
|
Karma: 27
|
So, da ist einmal der Code, wo das Ergebnis nur in kg angezeigt wird:
| Code: |
<form name="Gegenstandsform" action="">
<table border="0" bgcolor="#F9F9F9" style="border: 1px solid #CCCCCC">
<tr>
<td align="center">
<select name="Gegenstand" size="1" id="500">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 1<br>
<select name="Gegenstand" size="1" id="300">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 2<br>
<select name="Gegenstand" size="1" id="100">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 3
</td>
</tr>
<tr>
<td>
<hr>
</td>
</tr>
<tr>
<td>
Ergebnis: <input type="text" name="Ergebnis" value="0" size="10"> kg
<p><input type="button" value="berechnen" onclick="javascript:Berechnen()">
</td>
</tr>
</table>
</form>
<script type="text/javascript">
<!--
function Berechnen()
{
var das_Ergebnis = 0;
for(var i=0;i<document.Gegenstandsform.Gegenstand.length;i++)
{
with(document.Gegenstandsform.Gegenstand[i])
das_Ergebnis += parseInt(options[selectedIndex].text)*parseInt(id);
}
document.Gegenstandsform.Ergebnis.value = das_Ergebnis/1000;
}
//-->
</script>
|
Und wegen dem Einbinden; da musst du eigentlich nichts Spezielles beachten. Einfach den Quelltext der Seite bearbeiten, den Code einfügen und speichern. Du kannst mir aber den Link zu deinem Blog geben, dann kann ich nachschauen, woran's liegt 
|
|
|
|
liebe Grüße
Super Mario
Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat
|
Karma: 27
|
So, das ist der Code jetzt ohne doppelte Zeilenumbrüche in dem Javascript. Jetzt sollte er funktionieren
Hier ist der Code:
| Code: |
<form name="Gegenstandsform" action="">
<table border="0" bgcolor="#F9F9F9" style="border: 1px solid #CCCCCC">
<tr>
<td align="center">
<select name="Gegenstand" size="1" id="500">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 1<br>
<select name="Gegenstand" size="1" id="300">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 2<br>
<select name="Gegenstand" size="1" id="100">
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
x Gegenstand 3
</td>
</tr>
<tr>
<td>
<hr>
</td>
</tr>
<tr>
<td>
Ergebnis: <input type="text" name="Ergebnis" value="0" size="10"> kg
<p><input type="button" value="berechnen" onclick="javascript:Berechnen()">
</td>
</tr>
</table>
</form>
<script type="text/javascript">
<!--
function Berechnen()
{
var das_Ergebnis = 0;
for(var i=0;i<document.Gegenstandsform.Gegenstand.length;i++)
{
with(document.Gegenstandsform.Gegenstand[i])
das_Ergebnis += parseInt(options[selectedIndex].text)*parseInt(id);
}
document.Gegenstandsform.Ergebnis.value = das_Ergebnis/1000;
}
//-->
</script>
|
|
|
|
|
Letzte Änderung: 04.08.2010 03:13 von Super_Mario.
liebe Grüße
Super Mario
Meine Webseite ist Mario & Luigis wunderbare Welt. Dort gibt es auch eine große Auswahl an kostenlosen und werbefreien Javascripts. Meine Javascripts laufen in vielen, bzw. allen Browsern und sind W3C valide!
|
|
|
Aw: Speziellen Rechner der Werte addiert vor 1 Monat
|
Karma: 0
|
Super, so hab ich mir das vorgestellt. Den Rest schaff ich alleine, hoff ich
Tausend Dank, also mein Angebot steht, falls du noch einen Link haben willst auf deine Seite, dann sag bescheid per PM.
Schönen Tag noch
|
|
|
|
|
|
|