gpt4 book ai didi

通过 "container.find()"检索 Id 值时,Javascript 返回 false

转载 作者:行者123 更新时间:2023-12-01 02:34:07 24 4
gpt4 key购买 nike

我的 MVC 应用程序包含一个简单的 textarea 元素(用户配置文件描述),登录的用户可以编辑该元素并由同一 View 中的模型表示。

View 中的 JS 函数由“保存”按钮激活,该按钮通过模型获取文本区域值和用户 ID。这些值被发送到更新数据库的 Controller 。

但是,我无法辨别为什么我的代码没有返回我需要回调到 Controller 的 Id 和 String 值。

var id = container.find('div[data-rel]');

返回

"false"

var text = descriptionForm.value;

返回“未定义”

我在这里发布此内容是因为我在这方面花费了大量时间并且无法看出我的代码有什么问题。我非常感谢一两个指点!

查看:

@model MyProj.Models.ApplicationUser

<div class="row" style="padding: 15px;">
<div data-rel="@Model.Id"> //The user id

<textarea rows="10" class="textarea"></textarea>

//The Save button once editing is complete
<input type="button" data-input="edit" value="Save" id="saveButton">
</div>

脚本:

<script>
$(function () {
$("#saveButton").click(function () {
var container = $(this).closest('.row');
var id = container.find('div[data-rel]');
var descriptionForm = container.find('.textarea');
var text = descriptionForm.value;

var url = "/Profile/EditDescription?id=" + id + "&s=" + text;
$.post(url, null, function (data) {
});
<script>

Controller :

    public void EditDescription(string id, string s)
{

var manager = new UserManager<ApplicationUser>(
new UserStore<ApplicationUser>(new ApplicationDbContext()));

var user = manager.Users.FirstOrDefault(u => u.Id == id);

user.ProfileDescription = s;

manager.UpdateAsync(user);

}

最佳答案

首先,您必须获取所需的元素,即带有 [data-rel]div,然后使用 data()< 获取数据属性值。要检索文本区域值,请使用 val() 而不是 value

  $("#saveButton").click(function () {
var container = $(this).closest('.row').find('div[data-rel]');
var id= container.data('rel');
var descriptionForm = container.find('.textarea');
var text = descriptionForm.val();
var url = "/Profile/EditDescription?id=" + id + "&s=" + text;
});

关于通过 "container.find()"检索 Id 值时,Javascript 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48071337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com