Hallo liebes Forum,
ich habe ein Javascript für einen Onlineshop geschrieben, leider habe ich hier nur einen Mac mit Safari 3.0.4 und Firefox 2.0 zum testen.
Das Script funktioniert im Safari einwandfrei, aber im Firefox lassen sich die Funktionen nicht aufrufen.
Im speziellen die iwantmore() Funktion
Ich habe mit Firebug zu debuggen, aber er hat mir keinen Fehler angezeigt.
Vielleicht könnt ihr mir helfen, und wenn möglich das Script auch auf einem PC testen.
Dank im voraus, ABC
Link zum Onlineshop
Java Script:
ich habe ein Javascript für einen Onlineshop geschrieben, leider habe ich hier nur einen Mac mit Safari 3.0.4 und Firefox 2.0 zum testen.
Das Script funktioniert im Safari einwandfrei, aber im Firefox lassen sich die Funktionen nicht aufrufen.
Im speziellen die iwantmore() Funktion
Ich habe mit Firebug zu debuggen, aber er hat mir keinen Fehler angezeigt.
Vielleicht könnt ihr mir helfen, und wenn möglich das Script auch auf einem PC testen.
Dank im voraus, ABC
Link zum Onlineshop
Java Script:
Code:
//Variablen
r = 0;
t = 0;
function iwantmore(motive){
switch(motive){
case 'halbdunkel': var counter = r;
break;
case 'klappenlos': var counter = t;
break;
}
var getdiv = document.getElementById('select_' + motive);
// Create Gender Select
var select_gender = document.createElement('select');
select_gender.type = 'select';
select_gender.name = 'gender_' + motive + '_' + counter;
select_gender.id = 'gender_' + motive + '_' + counter;
var select_gender_id = String('gender_' + motive + '_' + counter);
var select_size_id = String('size_' + motive + '_' + counter);
var select_colour_id = String('colour_' + motive + '_' + counter);
var br_id = String('br_' + motive + '_' + counter);
select_gender.onchange = function() { upitup(select_gender_id, select_size_id, select_colour_id, br_id); }
select_gender.options[0] = new Option('GENDER');
select_gender.options[1] = new Option('-');
select_gender.options[2] = new Option('MALE');
select_gender.options[3] = new Option('FEMALE');
select_gender.options[4] = new Option('-');
select_gender.options[2].value = 'male';
select_gender.options[3].value = 'female';
getdiv.appendChild(select_gender);
// Create Size Select
var select_size = document.createElement('select');
select_size.type = 'select';
select_size.name = 'size_' + motive + '_' + counter;
select_size.id = 'size_' + motive + '_' + counter;
select_size.disabled = true;
select_size.options[0] = new Option('SIZE');
getdiv.appendChild(select_size);
// Create Colour Select
var select_colour = document.createElement('select');
select_colour.type = 'select';
select_colour.name = 'colour_' + motive + '_' + counter;
select_colour.id = 'colour_' + motive + '_' + counter;
select_colour.disabled = true;
select_colour.onchange = function() { colour(select_colour_id, motive); }
select_colour.options[0] = new Option('COLOUR');
getdiv.appendChild(select_colour);
// Create Br
var br = document.createElement('br');
br.id = 'br_' + motive + '_' + counter;
getdiv.appendChild(br);
switch(motive){
case 'halbdunkel': r++;
break;
case 'klappenlos': t++;
break;
}
}
function noway(motive){
switch(motive){
case 'halbdunkel':
if(r > 0){
var getdiv = document.getElementById('select_' + motive);
var remove_gender = getdiv.getElementsByTagName('select')[(r * 3) - 3];
var remove_size = getdiv.getElementsByTagName('select')[(r * 3) - 2];
var remove_colour = getdiv.getElementsByTagName('select')[(r * 3) - 1];
var remove_br = document.getElementById('br_' + motive + '_' + (r - 1));
r--;
}
break;
case 'klappenlos':
if(t > 0){
var getdiv = document.getElementById('select_' + motive);
var remove_gender = getdiv.getElementsByTagName('select')[(t * 3) - 3];
var remove_size = getdiv.getElementsByTagName('select')[(t * 3) - 2];
var remove_colour = getdiv.getElementsByTagName('select')[(t * 3) - 1];
var remove_br = document.getElementById('br_' + motive + '_' + (t - 1));
t--;
}
break;
}
getdiv.removeChild(remove_gender);
getdiv.removeChild(remove_size);
getdiv.removeChild(remove_colour);
getdiv.removeChild(remove_br);
}
function upitup(select_gender_id, select_size_id, select_colour_id, br_id){
var select_gender = document.getElementById(select_gender_id);
var select_size = document.getElementById(select_size_id);
var select_colour = document.getElementById(select_colour_id);
document.getElementById(select_size_id).options.length = 0;
document.getElementById(select_colour_id).options.length = 0;
switch(select_gender.options[select_gender.selectedIndex].value){
case 'male':
select_size.disabled = false;
select_size.options[0] = new Option("SIZE");
select_size.options[1] = new Option("-");
select_size.options[2] = new Option("MEDIUM");
select_size.options[3] = new Option("LARGE");
select_size.options[4] = new Option("-");
select_colour.disabled = false;
select_colour.options[0] = new Option("COLOUR");
select_colour.options[1] = new Option("-");
select_colour.options[2] = new Option("WHITE");
select_colour.options[3] = new Option("BLACK");
select_colour.options[4] = new Option("MINT");
select_colour.options[5] = new Option("YELLOW");
select_colour.options[6] = new Option("-");
break;
case 'female':
select_size.disabled = false;
select_size.options[0] = new Option("SIZE");
select_size.options[1] = new Option("-");
select_size.options[2] = new Option("SMALL");
select_size.options[3] = new Option("MEDIUM");
select_size.options[4] = new Option("LARGE");
select_size.options[5] = new Option("-");
select_colour.disabled = false;
select_colour.options[0] = new Option("COLOUR");
select_colour.options[1] = new Option("-");
select_colour.options[2] = new Option("WHITE");
select_colour.options[3] = new Option("BLACK");
select_colour.options[4] = new Option("MINT");
select_colour.options[5] = new Option("LILAC");
select_colour.options[6] = new Option("CORAL");
select_colour.options[7] = new Option("-");
break;
}
}
function checkform(mode, mode_adress){
switch(mode){
case 'form_select':
var error = new Array();
form_select = document.getElementById('form_select').getElementsByTagName('select');
if(form_select.length != 0){
for(var z = 0; z < form_select.length; z++){
if(form_select[z].options[form_select[z].selectedIndex].value == 'GENDER' || form_select[z].options[form_select[z].selectedIndex].value == 'SIZE' || form_select[z].options[form_select[z].selectedIndex].value == 'COLOUR' || form_select[z].options[form_select[z].selectedIndex].value == '-'){
error.push(form_select[z]);
}
}
if(error.length > 0){
alert('Please select you size and your favorite colour!');
}
else{
adressform(mode_adress);
}
}
else{
alert('Please select at least one shirt!');
}
break;
case 'form_adress':
var error = new Array();
var form_input = document.getElementsByTagName('input');
for(var z = 0; z < form_input.length; z++){
if(form_input[z].value == ''){
error.push(form_input[z].name);
}
}
if(error.length > 0){
alert('Every field is required!');
return false;
}
else{
// Enable Select Forms
for(var z = 0; z < form_select.length; z++){
form_select[z].disabled = false;
}
document.getElementById('form').submit();
return true;
}
break;
}
}
function adressform(mode){
switch(mode){
case 'show':
// Create Submit Button
var button_submit = document.createElement('input');
button_submit.type = 'button';
button_submit.name = 'button_submit';
button_submit.value = 'SUBMIT ORDER';
button_submit.id = 'button_submit';
button_submit.style.width = '330px';
button_submit.style.cssFloat = 'right';
button_submit.style.styleFloat = 'right';
button_submit.onclick = function() { checkform('form_adress', ''); };
document.getElementById('form_navigation').appendChild(button_submit);
// Edit Place Button
var button_placeorder = document.getElementById('button_placeorder');
button_placeorder.value = 'EDIT ORDER';
button_placeorder.style.width = '330px';
button_placeorder.onclick = function() { adressform('hide'); };
// Show Adressform
document.getElementById('form_adress').style.visibility = 'visible';
// Disable Select Forms
for(var z = 0; z < form_select.length; z++){
form_select[z].disabled = true;
}
// Disable Plus Minus
for(var z = 0; z < document.getElementsByName('plusminus').length; z++) {
document.getElementsByName('plusminus')[z].disabled = true;
}
document.getElementById('background_adress').style.visibility = 'visible';
break;
case 'hide':
// Remove Submit Button
document.getElementById('form_navigation').removeChild(document.getElementById('button_submit'));
// Edit Place Button
var button_placeorder = document.getElementById('button_placeorder');
button_placeorder.value = 'PLACE ORDER';
button_placeorder.style.width = '730px';
button_placeorder.onclick = function() { adressform('show'); }
// Hide Adressform
document.getElementById('form_adress').style.visibility = 'hidden';
// Enable Select Forms
for(var z = 0; z < form_select.length; z++){
form_select[z].disabled = false;
}
// Disable Plus Minus
for(var z = 0; z < document.getElementsByName('plusminus').length; z++) {
document.getElementsByName('plusminus')[z].disabled = false;
}
document.getElementById('background_adress').style.visibility = 'hidden';
break;
}
}
function colour(select_colour_id, motive){
var select_colour = document.getElementById(select_colour_id);
var colour = select_colour.options[select_colour.selectedIndex].value.toLowerCase();
document.getElementById('image_' + motive).src = 'images/onlineshop/' + motive + '_' + colour + '.jpg';
}
Zuletzt bearbeitet: