【问题标题】:Get textarea contents before submit提交前获取textarea内容
【发布时间】:2012-01-11 20:18:32
【问题描述】:

我有一个 id 为“compose”的 textarea,我想在按下提交按钮之前从该 textarea 获取数据。我有另一个 javascript 函数,它将根据用户偏好将信息共享给其他各种站点,我需要将 textarea 中的信息传递给该 js。

function getVal(){
               alert(document.getElementById("compose").value);

           }

我没有得到任何信息,我猜是因为信息存储在其他地方,但我不知道存储在哪里。

我正在使用 zend,我想使用 jQuery,但我无法让 jQuery 与 zend 一起正常工作。它要么破坏页面上的其他组件,要么根本不起作用。有什么建议吗?

编辑: 这是我调用 getVal() 的地方。它现在只是一个链接,因为我正在尝试将输入输入文本区域。然后我会将找到的数据插入到我的 js 脚本中。

我附加 Zend 是因为该网站是使用 zend 框架制作的,经过一段时间的 jquery 挣扎后,我不想要 jquery 答案,因为我无法使用它。

<a href="javascript:void(0);" onclick="getVal()">click</a>

edit1 我使用的引擎似乎已经放弃了对我使用的版本的 jquery 支持......谢谢您的回答和帮助

【问题讨论】:

  • Zend 跟 Javascript 有什么关系???
  • 你在哪里调用 getVal() 函数?也许您可以发布更多代码?
  • 您是否在使用某种富文本编辑器?在这种情况下,它可能会保存在其他地方。
  • 如果它不是富文本编辑器,您可以通过HTMLTextAreaElement.value 属性获取它
  • 我编辑解释了 zend 与我的问题有什么关系。我正在使用 netbeans。

标签: javascript jquery html


【解决方案1】:

因为你把它标记为 jquery 我假设你使用它。在这种情况下,最简单的方法是......

$("#compose").val()

哦,没关系,我现在读到你不能让 jquery 工作? 在那种情况下,你读过这篇文章吗? Best way to start using jQuery in a Zend Framework 1.9 application?

【讨论】:

  • jQuery 可以处理诸如警报之类的小事情……但它会破坏其他事情,我不知道为什么。我一直在改变 zend 以试图找出错误的原因,但我还没有遇到解决方案。
【解决方案2】:

你可以劫持表单的submit事件,做你的AJAX请求,然后正常提交表单:

$('form').on('submit', function () {
    $.ajax({
         url  : '<URL>',
         data : { compose : $('#compose').val() }
    });
});

请注意,.on() 是 jQuery 1.7 中的新内容,在这种情况下与 .bind() 相同。

.on() 的文档:http://api.jquery.com/on

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 2019-04-30
    • 2012-02-01
    • 2013-06-22
    相关资源
    最近更新 更多