无法从PrettyPhoto中的输入获取.val()

时间:2012-07-10 00:28:43

标签: javascript jquery html input prettyphoto

这是我的代码的结构:

<div class='img_box' title='icon'>
  <div>
    <a href='#lightbox_add' rel='prettyPhoto[g1]'>
      <img alt='' src='images/img_plus_green.png' title=''/>
      <span class='description'>
        <span class='title'>Click to Answer</span>
      </span>
    </a>
    <div id='lightbox_add' class="hide">
        <div class='lightbox_add_cand'>
            <h4>Add a new answer</h4>
            <div class='block_answer'>
                <div class='line'>
                </div>
                <br/>
                <form action='/add/1' id='add_cand_form' method='post'>
                    <div class='input_box'>
                        <input class='s_inp_text' id='cand_title' name='cand_title' title='Write a title...' type='text'/>
                    </div>
                    <div class='input_box'>
                        <input class='s_inp_text' id='pic_url' name='pic_url' title='URL of picture...' type='text'/>
                    </div>
                    <a class='button_big dark_red' href='' id='add_cand_button'>
                      <span class='left'>
                        <span class='right'>
                          Save
                                               </span>
                      </span>
                    </a>
                </form>
            </div>
        </div>
    </div>
</div>

&lt; a href =“#lightbox_add”&gt;单击时会激活PrettyPhoto灯箱,并加载由&lt; div id =“lightbox_add”&gt;定义的html。在灯箱内,有一个表格。我的问题是通过javascript读取表单元素的值:

$("#add_cand_button").live('click', function() {
  alert( $("#cand_title").val());              //shows an empty alert box
  alert( $("#pp_full_res #cand_title").val());  //shows an alert box that says "undefined"
});

我知道$(“#pp_full_res #cand_title”)。val();应该是正确的方法,但它不起作用。 另外需要注意的是:当我在DOM中搜索#cand_title时,它找不到任何东西。

有人知道在prettyphoto中访问输入元素值的正确方法吗?

1 个答案:

答案 0 :(得分:1)

没有名为pp_ful_res的元素就是为什么它返回'undefined'

这是你在jsfiddler中的代码 http://jsfiddle.net/screepts/DpeTr/

您的alert( $("#cand_title").val());会返回正确的值。