- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
任何人都可以帮助我跟踪在弹出表单中添加数据时导致重复/三重/x 的代码行吗?除了添加之外,新建/更新/删除功能都可以。
情况是,当我添加数据时,它应该保存一次(之前工作得很好),但现在保存了两次或三次(例如,我们现在有 2 个相同的数据副本)..我正在添加另一个数据,它现在保存的数据数量是之前保存的数据数量的 x2 或 x3(所以我们现在有另外 4 个相同的数据副本)..见鬼!它应该只保存 2 个唯一数据,对吗?但我们现在有 2 + 4 个相同的数据副本。请帮忙..
这是html 文件:
<div id="man_contact_person">
<form id="form_client_contact" action="" method="post">
<span id="client_d_result"></span>
<table class="children_table">
<th>
<tr style="font-weight:bold">
<td style="width: 10px"></td>
<td>Person</td>
<td>Position</td>
<td>Contact No</td>
<td>Archive?</td>
<td></td>
</tr>
<tr>
<td><input type="hidden" id="client_d_id" name="client_d_id" /><input type="hidden" id="client_h_id" name="client_h_id" /></td>
<td><input type="text" class="form-control input-sm" id="person" name="person" placeholder="Full Name" style="width:200px;"></td>
<td><input type="text" class="form-control input-sm" id="position" name="position" placeholder="Position" style="width:200px;"></td>
<td><input type="text" class="form-control input-sm" id="contact_no" name="contact_no" placeholder="mobile/landline/wireless" style="width:200px;"></td>
<td align="center"><?php input_checkbox('is_archive', ''); ?></td>
<td align="center">
<input type="button" class="small_save" id="btn_add_client_d" name="btn_add_client_d" />
<input type="button" class="small_save" id="btn_save_client_d" name="btn_save_client_d" />
<input type="button" class="small_new" id="btn_new_client_d" name="btn_new_client_d" />
</td>
</tr>
</th>
<tbody id="client_children">
</table>
</form>
这是 js 文件:
//some codes...
$(document).ready(function(){
//some codes...
$("#man_contact_person").dialog({ //the popup form
autoOpen: false,
width: 810,
height: 500,
modal: true,
title: "Manage Contact Persons"
});
$("#btn_contact_person").click(function(){ //when calling popup form
if ($("#message").is(":visible")){
$("#man_contact_person").dialog( "open" );
get_client_children($("#id").val());
} else{
if ($("#cname").val() != '' || $("#fname").val() != ''){
$("#man_contact_person").dialog( "open" );
get_client_children($("#id").val());
} else{
alert("Please save the client's data first.");
}
}
});
//some codes...
});
//some codes...
function reset_client_d(){ //resetting the fields
$("#client_d_id").val('');
$("#form_client_contact #person").val('');
$("#form_client_contact #position").val('');
$("#form_client_contact #contact_no").val('');
$('#form_client_contact #is_is_archive').prop('checked', false);
$("#btn_add_client_d").show();
$("#btn_save_client_d").hide();
}
function client_d_add(client_h_id){ //adding data
var params = 'client_h_id=' + client_h_id +
'&person=' + $('#form_client_contact #person').val() +
'&position=' + $('#form_client_contact #position').val() +
'&contact_no=' + $('#form_client_contact #contact_no').val() +
'&is_archive=' + $('#form_client_contact #is_archive').val() + '';
$.ajax({
type: 'POST',
url: 'client_d_add.php',
data: params,
success: function(data){
get_client_children(client_h_id);
$("#client_d_result").show();
reset_client_d();
}
});
}
function get_client_children(client_h_id){ //display for popup form
var params = 'client_h_id=' + client_h_id;
$("#form_client_contact #is_is_archive").click(function(){
$("#form_client_contact #is_archive").val(($("#form_client_contact #is_is_archive").prop("checked") ? "Y" : "N"));
});
$.ajax({
type: 'POST',
url: 'get_client_children.php',
data: params,
success: function(data){
$('#client_children').html(data);
$('#btn_save_client_d').hide();
$('#btn_save_client_d').click(function(){client_d_update(client_h_id);});
$('#btn_add_client_d').click(function(){client_d_add(client_h_id);});
$('#btn_new_client_d').click(function(){reset_client_d();});
$('.edit_client_d').click(function(){
return client_d_select(this.id);
});
}
});
}
//some codes...
最佳答案
好的,找到了:您正在多次分配点击处理程序:
$('#btn_save_client_d').click(function(){client_d_update(client_h_id);});
每次调用 get_client_children
时,都会添加一个新的点击处理程序,因此当单击保存按钮时,会多次调用保存函数。
通常,您应该在页面初始化时分配事件处理程序。
不要将 id 作为参数传递给保存函数,而是将其写入表单中的隐藏字段并与其他数据一起发布。
我会重复一遍:使用 JavaScript 和 AJAX 进行缩减。你的代码看起来相当过度引擎。
关于javascript - 弹出循环: Stop Duplication/Triplication/X When Adding Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36467940/
只是想知道这些结构之间有什么区别(text、data、rodata、bss 等)在链接描述文件中: .data : { *(.data) } .data : { *(.data*) }
Data 定义为其核心功能之一 gfoldl : gfoldl :: (Data a) => (forall d b. Data d => c (d -> b) -> d -> c b)
以下之间有什么区别:data-sly-use、data-sly-resource、data-sly-include 和 数据-sly-模板?我正在阅读 Sightly AEM 上的文档,我非常困惑。
我有一个 Spring Boot、Spring Data JPA (hibernate) Web 应用程序,并且想引入文本搜索功能。 我理解以下内容 hibernate search 或 spring
我不知道我的代码有什么问题。我读了其他有同样问题的人的一些问题,但没有找到答案。当我尝试编译时出现以下错误: ||In function 'main':| |35|error: expected ex
我不太确定为什么会收到此错误或其含义。我的数据框称为“数据”。 library(dplyr) data %>% filter(Info==1, Male==1) %>% lm(CFL_
我一直在 GitHub 等更现代的网站上看到这些属性,它们似乎总是与自定义的弹出窗口一致,如 title 属性。 Option 1 Option 2 Option 3 Option 4 我在 HTML
如何用 iCloud Core Data 替换我现有的 Core Data?这是我的持久商店协调员: lazy var persistentStoreCoordinator: NSPersistent
我一直在 GitHub 等更现代的网站上看到这些属性,它们似乎总是与自定义的弹出窗口一致,如 title 属性。 Option 1 Option 2 Option 3 Option 4 我在 HTML
我正在通过 this project 在 Android 上摆弄 node.js ,我需要一种方法将 js 文件部署到私有(private)目录(以隐藏源代码,防止用户篡改),该目录也物理存在于文件系
大家好我有点沮丧,所以我希望得到一些帮助。我的项目在 SwiftUI 中。我想使用图像选择器将图像保存到 Core Data。我实现了让 ImagePicker 工作,但我正在努力转换 Image -
我有以下数据和代码: mydf grp categ condition value 1 A X P 2 2 B X P 5
我一直在努力解决这个问题,但我根本找不到任何解决问题的方法。希望这里有人可以提供帮助。 我正在尝试为具有以下结构的某些数据创建个人选择矩阵: # A tibble: 2,152 x 32 a
我了解 Data.Map.Lazy 和 Data.Map.Strict 是不同的。但是,当您导入 Data.Map 时,您究竟导入了什么:严格的、惰性的还是两者的组合? 最佳答案 懒人。看着docs
我正在开发一个 C 程序,用于从 BerkeleyDB DBTree 数据库中提取数据值与特定模式匹配的记录。我创建数据库,打开它,将键的 DBT 和数据的另一个 DBT 清零,将 DBT 标志设置为
所以我有以下成员(member)历史表 User_ID | Start date | End Date | Type(0-7) | ---------------------------
随着最近推出的包dataframe ,我认为是时候正确地对各种数据结构进行基准测试,并突出每种数据结构的优势。我不是每个人的不同优势的专家,所以我的问题是,我们应该如何对它们进行基准测试。 我尝试过的
我有来自 API 的数据,但无法将数组中的数据设置为 vue.js 中的 this.data这是来自 API 的数据(JSON) 你能告诉我这个语法吗 {"id":1613, "name_org":"
在 Vue.js到目前为止,我已经找到了两种定义数据的方法:data: {} 和 data() { return; }. data: { defaultLayout: 'default' }
我正在研究Spring Data Rest Services,并在自定义拦截器中遇到一些问题。之前我使用spring-data-rest-webmvc 2.2.0并以以下方式添加了拦截器。 publi
我是一名优秀的程序员,十分优秀!