PHP 프로그램에 javascript가 통합되었습니다. 내 코드를 확인하십시오.Internet Explorer에서 스크립트 실행 시간이 초과되었습니다.
루프는 데이터베이스의 레코드 수에 따라 다릅니다. 예를 들어 :
$counter = 0;
foreach($row_value as $data):
echo $this->javascript($counter, $data->exrate, $data->tab);
endforeach;
private function javascript($counter=NULL, $exrate=NULL, $tab=NULL){
$js = "
<script type='text/javascript'>
$(function() {
var textBox0 = $('input:text[id$=quantity{$counter}]').keyup(foo);
var textBox1 = $('input:text[id$=mc{$counter}]').keyup(foo);
var textBox2 = $('input:text[id$=lc{$counter}]').keyup(foo);
function foo() {
var value0 = textBox0.val();
var value1 = textBox1.val();
var value2 = textBox2.val();
var sum = add(value1, value2) * (value0 * {$exrate});
$('input:text[id$=result{$counter}]').val(parseFloat(sum).toFixed(2));
// Compute Total Quantity
var qtotal = 0;
$('.quantity{$tab}').each(function() {
qtotal += Number($(this).val());
});
$('#tquantity{$tab}').text(qtotal);
// Compute MC UNIT
var mctotal = 0;
$('.mc{$tab}').each(function() {
mctotal += Number($(this).val());
});
$('#tmc{$tab}').text(mctotal);
// Compute LC UNIT
var lctotal = 0;
$('.lc{$tab}').each(function() {
lctotal += Number($(this).val());
});
$('#tlc{$tab}').text(lctotal);
// Compute Result
var result = 0;
$('.result{$tab}').each(function() {
result += Number($(this).val());
});
$('#tresult{$tab}').text(result);
}
function add() {
var sum = 0;
for (var i = 0, j = arguments.length; i < j; i++) {
if (IsNumeric(arguments[i])) {
sum += parseFloat(arguments[i]);
}
}
return sum;
}
function IsNumeric(input) {
return (input - 0) == input && input.length > 0;
}
});
</script>
";
return $js;
}
나는이 메시지가 IE7에서이 작업을 실행 나를
정지이 스크립트를 실행 짜증나는 항상?
이 페이지의 스크립트를 사용하면 웹 브라우저가 으로 천천히 실행됩니다. 계속 실행하면 컴퓨터 이 응답하지 않을 수 있습니다.
하지만 파이어 폭스에서는 잘 작동합니다.
따라서 디버거를 사용하고 디버그하십시오. – zerkms
일반적으로 너무 오래 걸리는 루프가 있습니다. 디버깅을위한 출발점이 있습니다. 또한 IE7도 사라지고 있습니다. 새로운 IE6입니다. – epascarello
_ "[IE7]은 새로운 IE6입니다."_epascarello는 많은 수준에서 그렇습니다. – nnnnnn