用onclick更改两个值

时间:2018-09-20 21:16:39

标签: javascript php

不幸的是,JavaScript无法按预期运行。我想达到onclick,即在textarea中该值已更改。同时,还应该在输入中更改该值。

 <textarea class="input"  style="width:100%;font-size:12pt;font-family: ArialMT, Verdana;font-weight: bold;height:100px;color:black" name="adresse" readonly="readonly" id="street"></textarea>
            <input style="width:130px;text-align: left" class="input" type="text" name="kundennr" id="kundennr" value="10000">

 <a href="#openModal">Kunden</a>
        <div id='openModal' class='modalDialog'>
    <div>
        <a href='#close' title='Close' class='close'>X</a>   

    <?php
    $sql = "SELECT * FROM `kunde` ORDER BY `kundennummer` ASC";    
     foreach ($dbh->query($sql) as $nav) {    
    $address = $nav['adresse']; 
    $name = $nav['kundennummer'];    
     echo " <a>$address</a> 
    <a> |  Kundennr: </a><a href='#' onclick='changeit(this);'>$name</a><br>";              
            }
        ?> 
    </div>
        </div>
        <script>function changeit(el) { 
            var inhalt = el.text;
            var db_address = '<?php echo $address; ?>';
            document.getElementById('kundennr').value=inhalt;
            document.getElementById('street').value =db_address;
        }
        </script>

更新抱歉,我忘记了模式框。

2 个答案:

答案 0 :(得分:1)

您的函数changeit(el)仅使用最后一个$ address生成一次;

通常,您可以在foreach语句中包含函数定义,并生成此函数的n版本,但这是一种可怕的方法。

您应该将地址数组发送给javascript并使用它

<code>
var js_addresses = json_encode($addresses);
</code>

答案 1 :(得分:0)

首先,我删除了您的PHP,但保留了变量名$ address和$ name。 如果我正确阅读了您的代码,则希望将$ address中的值放入textarea中,并将输入内容放入$ name的值中。

您需要稍微修改一下代码。在您提供的链接中读取$ address的值,方法是在“地址”下面的示例中为其指定一个ID,然后访问它的innerHTML。仅在将PHP变量设置在某个位置的情况下,您才能直接访问它们。 1.将一个id属性添加到地址链接。 2.用下面的JS代码替换您的JS代码 3.一切正常。

function changeit(el) { 
        var inhalt = el.text;
        var db_address = document.getElementById("address").innerHTML;
        document.getElementById('kundennr').value=inhalt;
        document.getElementById('street').value =db_address;
    }
<textarea class="input"  style="width:100%;font-size:12pt;font-family: ArialMT, Verdana;font-weight: bold;height:100px;color:black" name="adresse" readonly="readonly" id="street"></textarea>
        <input style="width:130px;text-align: left" class="input" type="text" name="kundennr" id="kundennr" value="10000">


<a id="address">$address</a> 
<a> |  Kundennr: </a><a href='#' onclick='changeit(this);'>$name</a><br>