<!DOCTYPE html>
<html>
<body onload="test();">
<script>
var number=1;
var input='<div><input type="text" <? if('+number+'==1){ ?> size="1" <? } else{ ?> size="100" <? } ?>><div>'+
'<div>'+number+'</div>'+
'<input type="text" <? if(1==1){ ?> size="1" <? } else{ ?> size="100" <? } ?>>';
function test(){
var div = document.getElementById('result');
div.innerHTML = div.innerHTML + input;
}
</script>
<div id="result"></div>
</body>
</html>
有人可以帮我处理上面的代码吗?出于某种原因,我的第一个输入框的大小为100,即使是1。
答案 0 :(得分:1)
您无法在number
中访问php
等JavaScript变量。
如果您想使用number
,则需要在JavaScript
中执行此操作:
<!DOCTYPE html>
<html>
<body onload="test();">
<script>
var number = 1;
var input = '<div><input type="text";';
input += number == 1 ? ' size="1" ' : ' size="100" ';
input += '><div>';
input += '<div>' + number + '</div>';
input += '<input type="text" ';
input += 1 == 1 ? ' size="1" ' : ' size="100" ';
input += '>';
function test() {
var div = document.getElementById('result');
div.innerHTML = div.innerHTML + input;
}
</script>
<div id="result"></div>
</body>
</html>
答案 1 :(得分:0)
这是因为php代码在js代码之前执行。当执行php时,它会尝试检查'+ number +'是否为1。这是一个字符串。
Php代码在服务器中执行,js代码在浏览器中执行。这是巨大的差异。