javascript - 如何从输入 JQuery 或 javascript 获取修改后的文本

标签 javascript jquery text input

我在从输入获取修改后的文本时遇到问题。输入加载了我从数据库获取的一些文本,并且通过一个选项,我应该关闭 onlyread 属性并更改值。没关系,但是当我在输入中写入其他内容后单击“保存”按钮时,它会使用 .val() 获取旧值。我怎样才能得到新的?

代码是这样的。

    var anInput = $("#anInput").val(); //gets old value
    var otherInput = $("#otherInput").val(); //gets old value
    $.ajax({
          type: "POST",
          dataType: "html",
          success: doSomething,
          timeout: 4000,
          error: someProblems,
          url: "modules/mod.php",
          data: {anInput: anInput, otherInput: otherInput}
    });

我添加 AJAX 代码只是为了提及我需要这些值来执行某些操作。 AJAX 正在运行。

我知道这可以通过表单来完成,但这会重新加载页面,但我不希望这样。

抱歉我的英语生疏,谢谢:)

编辑:也许我在说“更改值”时说得不正确,我正在做的是选择文本并编写其他内容。

我在输入中显示一些信息,单击允许我修改的按钮,在输入中键入一些新文本,然后单击“保存”

HTML是由另一个AJAX生成的

<div class="infoVideo">
   <input id="anInput" value="someTextFromDataBase">
   <input id="otherInput" value="someTextFromDataBase">
   <input type="button" id="btnMod">
   <input type="button" id="btnSave">
</div>

如果我在输入中删除并输入其他内容,.val() 就会变得过时 someTextFromDataBase

最佳答案

编辑:根据我评论中的猜测,页面中有多个 #anInput,因此代码仅从第一个不是正在编辑的值中检索值。解决方案是页面的 HTML 中不要有任何重复的 id 值。

<小时/>

我怀疑您的代码并不像您所展示的那样。您可能正在执行以下操作:

var anInput = $("#anInput").val(); //gets old value
var otherInput = $("#otherInput").val(); //gets old value

仅一次,然后在表单字段已更改时尝试使用 anInputotherInput。您可以通过不缓存这些值来获取当前值,只需在需要时通过更改以下值来检索当前值:

data: {anInput: anInput, otherInput: otherInput}

对此:

data: {anInput: $("#anInput").val(), otherInput: $("#otherInput").val()}

这样,您始终可以在 Ajax 调用之前检索最新和最大的值。

关于javascript - 如何从输入 JQuery 或 javascript 获取修改后的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29021576/

相关文章:

javascript - 复杂的 Adob​​e Acrobat 计算

javascript - XMLHTTP Post 不起作用

javascript - 参数中带有 getter 的 AngularJS 资源

javascript - 使用 jQuery 追加到表时出现 NOT_FOUND_ERR

javascript - Yii2:基于条件使用JQuery计算

javascript - 防止嵌入的 ASP 代码被转义

javascript - Jquery - 可以在 html 输入文本上使用 .attr 或类似的而不是正则表达式吗?

python - 如何获取名为捕获组的正则表达式的名称?

react-native - 响应字体缩放的 native 最大值

mysql - MySQL 中的大文本数据类型