【问题标题】:Javascript/ Facebox getElementById not returning anythingJavascript/ Facebox getElementById 不返回任何内容
【发布时间】:2012-07-03 22:28:40
【问题描述】:

我正在使用带有表单的 facebox 打开一个小型模式对话框,然后尝试使用 javascript 访问该表单上的文本字段内的值。这是 HTML 代码 -

<div id="dialog-form95" style="display:none">
<div class="block">
  <form action="" method="post" name="form95">
    <h3>Setting URL</h3>
    <p></p>
    <p><label>URL : </label></p><input type="text" class="text" id="du95" name="url"/>
    <p><input type="submit" class="submit small" value="save" onclick="updateUrl(95,109); return false;"/></p>
  </form>
</div>
</div>

这是 javascript onclick -

function updateUrl(bid, cid){
    alert(document.getElementById('du'+bid).value);
}

我什至尝试过硬编码“du95”。每当我更新文本框中的任何内容并提交时,它都会显示一个空白警报对话框。 js 控制台中也没有显示任何内容。

【问题讨论】:

    标签: javascript html css getelementbyid facebox


    【解决方案1】:

    那是因为它没有价值。试试看会发生什么:

     <input type="text" class="text" id="du95" name="url" value="testing" />
    

    【讨论】:

    • 是的,现在如果我更改它,它会提醒“测试”,但不会提醒字段值。
    • 即使我编辑它,它也会提醒“测试”。我需要取字段值进行js处理
    • 一旦你改变了值,它不应该继续提醒“测试”。确保您在 javascript 触发之前更改值。
    • 是的。即使我更改字段中的值并单击保存按钮,它也会提醒“正在测试”
    【解决方案2】:

    由于某种原因,您的容器 div 中有 display: none

    删除后,它似乎在 jsfiddle 中工作正常:http://jsfiddle.net/8bSdK/

    【讨论】:

    • 是的,看来你是对的。但需要一个中间解决方案,因为它是一个从另一个按钮弹出的模态对话框。所以它必须是 display:none 直到另一个脚本显示它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2019-04-06
    • 2012-02-15
    • 2020-09-07
    • 2021-11-22
    相关资源
    最近更新 更多