在JavaScript中访问HTML元素

时间:2016-02-15 17:25:18

标签: javascript php jquery html

我正在尝试将参数从PHP传递到JavaScript,这就是我这样做的方式:

我的php文件:

<div>
    <textarea name="text" cols="80" rows="2">
     <?= $note['note'] ?>
    </textarea>
    <p type="hidden" name="request_id" value="<?= $request_id ?>" >
    <p type="hidden" name="cve" value="<?= $cve ?>" >
    <p type="hidden" name="note_id" value="<?= $note['note_id'] ?>" >
    <p type="hidden" name="status" value="<?= $note['status'] ?>" >
    <button class="add-note">Save</button>  
</div>

我的JavaScript功能:

$(function() {
    $(".add-note").click(function(){
        tr = $(this).parent();
        tds = tr.children();
        note = $(tds[0]).text();
        request_id = $(tds[1]).value;
        cve = $(tds[2]).value;
        note_id = $(tds[3]).value;
        status = $(tds[4]).value;
        alert(note);
    });
});

结果是当我得到Save的文本时,我得到值note,即,buttom本身的文本,而不是放在textarea中的文本。我没有为剩下的价值得到任何东西。

我想用经典的形式来解决这个问题,但问题是我需要textarea的当前值,这就是我使用JavaScript的原因,但是我没有正确访问HTML元素......

非常感谢。

2 个答案:

答案 0 :(得分:1)

而不是值使用data-xx属性完全意味着

  <p type="hidden" name="request_id" data-request="<?= $request_id ?>" >

并使用

提取
request_id = $(tds[1]).data('request');

答案 1 :(得分:1)

<div>
    <textarea name="text" cols="80" rows="2" id="texta">
     <?= $note['note'] ?>
    </textarea>
    <p type="hidden" name="request_id" id="request_id" value="<?= $request_id ?>" >
    <p type="hidden" name="cve" id="cve" value="<?= $cve ?>" >
    <p type="hidden" name="note_id" id="note_id" value="<?= $note['note_id'] ?>" >
    <p type="hidden" name="status" id="status" value="<?= $note['status'] ?>" >
    <button class="add-note">Save</button>  
</div>  

 $(function() {
    $(".add-note").click(function(){
        note = $('#texta').val();
        request_id = $('#request_id'.val();
        cve = $('#cve').val();
        note_id = $('#note_id').val();
        status = $('#status').val();
        alert(note);
    });
});