此代码在运行应用程序时有效,但Dreamweaver发出语法错误。它不喜欢那里的问号。我喜欢DW语法错误。有没有不同的方式来写这个?我有DW cs5.5我无法升级Dreamweaver版本。
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('<?php echo $your_permit_standard; ?>');
}
在问号之前加上反斜杠只会让它像这样打印,这是不对的。
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('<\?php echo $your_permit_standard; ?>');
}
渲染时,应该有这样的值:
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('0.333');
}
这也行不通:
if ( $('#postage6').val() == "Your Permit Standard" ) {
var somevar = "<?php echo $your_permit_standard; ?>";
$('#postage6rate').val(somevar);
}
语法错误只是从PHP变量所在的行转移到PHP变量所在的新行。
答案 0 :(得分:5)
您可以在单独的php块中定义值:
<script type="text/javascript">
var value = '<?=$your_permit_standard?>';
</script>
然后在你的JS中使用它:
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val(value);
}
但是你会在PHP中引入JS依赖,我不建议这样做,但是既然你要混合两者......
答案 1 :(得分:1)
在使用PHP设置.val()
方法参数后,看起来您正在使用JavaScript设置输入值。为什么不直接用PHP设置输入值?
<input type="text" name="postage6rate" value="<?php echo $your_permit_standard; ?>">
如果您需要在页面加载以外的某个时间运行此脚本,则可以将数据绑定到具有data
属性的元素。
<input type="text" name="postage6rate" data-permit="<?php echo $your_permit_standard; ?>">
然后当你需要运行你的脚本时......
window.addEventListener('onSomeEvent', function addTheData() {
var $input = $('input[name="postage6rate"]');
$input.val($input.data('permit'));
});
答案 2 :(得分:0)
我认为您的javascript
不符合PHP
文件中的内容,阻止PHP
执行
尝试:
<?php
$your_permit_standard = "0.335";
?>
<html>
<body>
<input id="postage6" name="postage6" value="Your Permit Standard"/>
<input id="postage6rate" name="postage6rate"/>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script>
if ( $('#postage6').val() == "Your Permit Standard" ) {
$('#postage6rate').val('<?php echo $your_permit_standard; ?>');
}
</script>
</body>
<html>