Blank input-felt i IE7 og opera når javascript i html-fil inkluderes i php-fil
Som overskriften siger, har jeg problemer med at få et javascript i en html-fil til at fungere i IE og Opera, når html-filen inkluderes i en php-fil. Står html-filen med scriptet alene fungerer det fint, men når det inkluderes i php-filen går et eller andet galt med teksten i input-feltet. De fremstår blanke frem for med tekst og "-----", som ønsket.Firefox, Chrome og Safari håndterer scriptet som ønsket, også når det inkluderes i php.
Et eksempel på problemet kan ses her:
• Html-filen som fungerer fint: http://www.paapinden.dk/tipsogtricks/beregn-opslag/opslag-script.html
• Php-filen, hvor html-filen er inkluderet og dermed ikke virker: http://www.paapinden.dk/tipsogtricks/beregn-opslag.php
Scriptet ser ud som følger:
<body onLoad="initialize();" bgcolor="#ffffff">
<script type="text/javascript">
<!--
function initialize() { //>Initialize
//indsætter tekst i skrivefeltet og markerer det
document.getElementById("valuemaskefasthed").value = "indtast maskefasthed her"; // Write 'popup' into value-field
// document.getElementById("valuemaskefasthed").focus(); // Set focus to value-field
document.getElementById("valuemaskefasthed").select(); // Select 'popup' in value field
document.getElementById("valuecm").value = "indtast cm her"; // Write 'popup' into value-field
// document.getElementById("valuecm").focus(); // Set focus to value-field
document.getElementById("valuecm").select(); // Select 'popup' in value field
calculate();
} // Calculate -> '- - - - -' in result
function newValuecm() { calculate(); } //>NewValue - omregner ved ny værdi
function newValuemaskefasthed() { calculate(); } //>NewValue - omregner ved ny værdi
function calculate() { //>Calculate
//placering af ----- hvis fejl i input
var input = document.getElementById("valuecm").value; // Content (text) of input-value
var white = input.match(/\s*/); // White spaces in input (for opera)
var valuecm = parseFloat(input.replace(/,/,'.')); // Parsed string with ','->'.' or NaN
if (isNaN(valuecm) || (white && input==white)) { // No valid number or only whitespaces
document.getElementById("resultopslag").value="- - - - - -";
document.getElementById("resultopslag80").value="- - - - - -";
document.getElementById("resultopslag90").value="- - - - - -";
return; } // -> Clear result value
var input = document.getElementById("valuemaskefasthed").value; // Content (text) of input-value
var white = input.match(/\s*/); // White spaces in input (for opera)
var valuemaskefasthed = parseFloat(input.replace(/,/,'.')); // Parsed string with ','->'.' or NaN
if (isNaN(valuemaskefasthed) || (white && input==white)) { // No valid number or only whitespaces
document.getElementById("resultopslag").value="- - - - - -";
document.getElementById("resultopslag80").value="- - - - - -";
document.getElementById("resultopslag90").value="- - - - - -";
return; } // -> Clear result value
//selve beregningerne her
var resultopslag = valuemaskefasthed * valuecm /10 ; // Else: Convert value to result
document.getElementById("resultopslag").value = Math.round(resultopslag); // Write result in text-field
var resultopslag80 = valuemaskefasthed * valuecm / 10 * 0.8; // Else: Convert value to result
document.getElementById("resultopslag80").value = Math.round(resultopslag80); // Write result in text-field
var resultopslag90 = valuemaskefasthed * valuecm / 10 * 0.9; // Else: Convert value to result
document.getElementById("resultopslag90").value = Math.round(resultopslag90); // Write result in text-field
// ved at gange med 10 og senere dividere det afrunded, så fås 1 decimal
}
//-->
</script>