我有两个JavaScript函数,insertAddedSup和removeAdded。当我从表中检索值并使用此信息填充控件时,onclick事件将插入用户,并且“删除”按钮可以正常工作。当我使用LDAP搜索用户并单击用户时,所有html都是正确的(显示正确的参数已发送到删除功能-就像SQL结果一样),但是当我单击删除按钮时,函数中使用的参数值与html中显示的值不同。我无法从任何地方识别出该值……尽管它始终是相同的值,但似乎几乎是随机的。不知道该怎么办。有谁知道可能是什么问题?
功能如下:
function insertAddedSup(uidSup, fullnameSup) {
var fullnameSup = fullnameSup.toLowerCase();
var currentContentSup = '<div id="y_' + uidSup + '" class="selectedDataBox" style="overflow:hidden;"><span style="text-transform:capitalize; float:left">' + fullnameSup + '</span><input type="hidden" name="EmpID" id="personAddedSup_' + uidSup + '" value="' + uidSup + '"><input type="button" name="removeAdded_' + uidSup + '" id="removeAdded_' + uidSup + '" value="Remove" onclick="alert(' + uidSup +');removeAdded(' + uidSup + ');" style="font-size:0.7em; float:right; width:60px;"></div>';
$('#addedPerson').html(currentContentSup);
alert($('#addedPerson').html());
$('#addedPerson').show();
$('#MainContent_searchContent_btnSubmitEmployee').attr('disabled', false);
}
function removeAdded(uidSup) { // hide the div of the person added
var divID = "#y_" + uidSup;
alert($('#addedPerson').html());
$(divID).hide();
$(divID).remove();
if ($('#addedPeople').html() == '') {
$('#addedPeople').hide();
}
$('#MainContent_searchContent_btnSubmitEmployee').attr('disabled', true);
}
我添加了一些警报,以便可以看到实际发送的内容,html中的内容等。
编辑:HTML
<div id="y_0730337" class="selectedDataBox" style="overflow:hidden;">
<span style="text-transform:capitalize; float:left"></span>
<input name="EmpID" id="personAddedSup_0730337" value="0730337" type="hidden">
<input name="removeAdded_0730337" id="removeAdded_0730337" value="Remove" onclick="alert(0730337);removeAdded(0730337);" style="font-size:0.7em; float:right; width:60px;" type="button">
</div>
如果数字不是以0开头,它似乎也可以正常工作。是否可以通过某种方式确保将值视为字符串?
参考方案
在您的按钮上单击:
onclick="alert(0730337);removeAdded(0730337);"
这些被视为数字而不是字符串,因为您在参数周围没有引号。如果一个数字以0开头,那么该数字实际上将以下一个非零数字(在本例中为7)开头,从而使值传递了730337(老实说,我不知道为什么您看到的实际值传递如此巨大的差异)我很想听听其他人对此是否有解释)。
您真正想要的是:
onclick="alert('0730337');removeAdded('0730337');"
您说的不是以0开头的数字使我相信这就是您遇到此问题的原因。
故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…
CodeIgniter更新查询被执行两次 - php我正在使用CodeIgniter 2.2。每次访问页面时,我都必须用+1更新数据库。代码可以工作,但是每次都会增加+2。示例:如果是total views=2,则在单击页面后total views应该是3,但是数据库中的值是4。我确定我在控制器中仅调用一次模型add_one_to_view_image。控制者 function view(){ $view_i…
当<form>'.submit'函数被覆盖时(使用Ajax)将数据获取到php吗? - javascript我已覆盖此网页上表单的.submit函数,因为该网页已加载在“ index.php”中的#mainContent内,并且我希望“提交”按钮仅替换此#mainContent。我正在尝试将数据从此表单获取到.php文件,以便对数据库进行查询(或简单地回显已填充的变量,以指示已传递数据)。我是AJAX的新手。有人可以向我解释如何将数据传递到.php文件,或者指向要…
通过php表单修改我的xml文件 - php这是我的xml文件和下面的php代码。我输入了一个输入类型,它将按名字搜索学生。然后将显示有关特定学生的信息,并且将显示另一个按钮更新。问题是我想在那之后修改信息。如何通过标签名称获取元素,以便可以修改有关特定学生的信息?<students> <student> <firstname>John</firstname&…
jQuery Ajax文件上传在客户端浏览器上无法正常工作 - javascript我正在尝试使用Ajax和JQuery实现个人资料图片上传功能我能够将个人资料图片成功上传到我尝试过的所有机器和移动设备上的数据库中。它适用于我在Chrome,Edge,Firefox,Safari甚至Vivaldi上使用。问题是我住在加拿大的客户无法将他们的个人资料图片上传到数据库。另外,纵向宽高比的图像倾向于向侧面旋转。我一直在要求他重新注册并多次提供…