簡體   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