Javascript 为什么字段值在提交时发布两次

Javascript 为什么字段值在提交时发布两次,javascript,jquery,html,css,forms,Javascript,Jquery,Html,Css,Forms,我正在根据radiobutton选择动态更改文本字段。 如果我选择single,那么它应该在表单中显示不同类型的字段,当我选择multi时,它有不同的属性 为此,, 我创建了两个div以适应在选择radiobutton时更改的元素。 我将文本字段放在第一个divid=single中,并在另一个divid=multi中重复第二个字段中的相同字段 基于单选按钮选择,这是可行的,但当我提交表单时,我遇到以下问题: 当我选择single时,表单显示所有必填字段,但提交的值会发送两次,即在控制台中我看到两

我正在根据radiobutton选择动态更改文本字段。 如果我选择single,那么它应该在表单中显示不同类型的字段,当我选择multi时,它有不同的属性

为此,, 我创建了两个div以适应在选择radiobutton时更改的元素。 我将文本字段放在第一个divid=single中,并在另一个divid=multi中重复第二个字段中的相同字段

基于单选按钮选择,这是可行的,但当我提交表单时,我遇到以下问题:

当我选择single时,表单显示所有必填字段,但提交的值会发送两次,即在控制台中我看到两个条目被发送, 我猜这也涉及到了多个领域

但当我选择multi时,它工作得很好,我仍然在控制台的POST中看到两个条目。 我怎样才能避免这种情况。这是处理这种情况的正确方法还是除此之外的其他方法。

控制台:

Ivrmapping[WelcomeNotes]    
Ivrmapping[audioWelcomeUr...    
Ivrmapping[audioWelcomeUr...    
Ivrmapping[groupZCode]  Ba
Ivrmapping[groupzName]  
Ivrmapping[groupzName]  
Ivrmapping[ivrnumber]   123467901
Ivrmapping[language]    
Ivrmapping[language]    0
Ivrmapping[selectionList]   
Ivrmapping[selectionList]     
做一些类似于:

$("#multi_language > input").attr('disabled', true);
$("#single_language > input").attr('disabled', false);

禁用输入将从请求中删除它们。

表单控件中字段的name属性需要不同,以便区分请求中的值。这并不能帮助您发送未使用的值,但它可以让您在服务器端区分哪些值用于哪个单选按钮选择。

我创建了一个Fiddle,我添加了隐藏和显示功能,但仍然相同。这只是一个示例。您需要选择适当的字段类型,如textarea。您是说单个div的两个div中的名称应该不同,并且-每个输入控件上的name属性必须不同,以便知道您在请求中查看的值。@bdparrish部分为true。您不必区分字段名称。正如我在回答中所说,您可以禁用字段以将其从请求中删除:@Zentoaku-我不反对,我给了他另一个选项来区分服务器端的值,但您完全可以使用相同的名称调用15个不同的输入控件。