繁体   English   中英

通过 Javascript 设置 HTML 元素的属性和样式

[英]Set both attribute and style for HTML elements by Javascript

我有这个 javascript,它运行良好,因为我正在使用 php 并循环浏览大量数据,当单击单选按钮时,这些数据最好与变量一起显示。 请参阅下面的代码:

<script type="text/javascript">

function transferamount() {
 <?php foreach ($wallets as $key => $wallet) : ?>
 if (document.getElementById('<?php echo $key?>').checked) {
 document.getElementById('if<?php echo $key?>').style.display = 'block';
}
else document.getElementById('if<?php echo $key?>').style.display = 'none';
 document.getElementById('if<?php echo $key?>').element.disabled = true;
<?php endforeach; ?>
}
</script>

我遇到的问题是能够设置属性和样式,因为我不希望method = "post"发送循环的所有数据,而只发送显示的数据。 我知道某些浏览器即使将样式设置为document.getElementById('elementId').style = "display:none;"也能完美运行但是我想通过将不需要的输入元素的属性设置为禁用以便它们的值不会发布来更加确定是这种情况。 它们都具有相同的属性名称,这正是我所需要的。 因此name = "name" 输入中有一些限制,这就是为什么我不能只显示一个输入元素,尽管它们都具有相同的name 属性 我怎样才能最好地调整我的 JavaScript 来实现这一目标? 先感谢您。

我宁愿删除主 HTML 代码中的循环并将其作为element.innerHTML 我还创建了一个id="ElementId"的 div

<style>
    function transferamount() {
      <?php foreach ($wallets as $key => $wallet) : ?>
      if (document.getElementById('<?php echo $key?>').checked) {
        document.getElementById('ElementId').innerHTML = "<div class='form-group'><label>Amount of <?php echo $wallet?></label><input name='amount' class='form-control' type='number' min='1.00' max='<?php echo ${$key} ?>' placeholder='<?php echo ${$key}?>'></div>";
      }
</style>

使用此代码,脚本可以完美运行。 method = "post"很完美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM