在我的网络应用程序中,我有多个同名的文本框。使用按钮单击事件,它将动态添加文本框。用户输入电子邮件地址
以下javascript显示使用每个循环,它将保存用户在数据库中输入的所有电子邮件地址。
function JavaScriptFunction() {
var arr = $("[name='multiple[]']");
$.each(arr, function (i, item) { PageMethods.InsertContacts($(item).val(),"01132321","M0011", getValues_Success, getValues_Fail);
});
这是我的网页
<div class="form-group multiple-form-group input-group">
<input type="text" name="multiple[]" class="form-control" />
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-add">+</button>
</span>
</div>
<div class="form-group multiple-form-group input-group">
<input type="text" name="multiple[]Phone" class="form-control" />
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-add">+</button>
</span>
</div>
<input type="button" onclick="JavaScriptFunction();" value="get Values" />
代码隐藏方法
[WebMethod]
public static string InsertContacts(string email ,string phone, string username)
{
userDataHandler.InsertContacts(email, phone, username);
return "success";
}
同样,用户添加电话号码。我想读取数组并将数据保存在数据库中。我可以在两个循环中读取数组并保存数据。但我想在一个循环中读取这两个数组并将数据保存在两列中。
我试过这样,但它不起作用。
var arr = $("[name='multiple[]']");
var arr2 = $("[name='multiple[]Phone']");
$.each(arr,arr2 function (i, item,item2) {
PageMethods.InsertContacts($(item).val(),$(item2).val(),"M0011", getValues_Success, getValues_Fail);
});
答案 0 :(得分:0)
如果长度相同,则可以在一个循环中进行。
var arr = $("[name='multiple[]']");
var arr2 = $("[name='multiple[]Phone']");
$.each(arr, function (i, item) {
PageMethods.InsertContacts(arr[i].val(),arr2[i].val(),"M0011", getValues_Success, getValues_Fail);
});
如果长度不同,则使用两个循环
$.each([arr, arr2], function() {
$.each(this, function(i, v) {
// do something
});
});
答案 1 :(得分:0)
这是我的html页面
<form roe="form" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" ScriptMode="Release" />
<!--Header-->
<UsersHeaderTP:UsersHeaderTN runat="server" ID="UserHeaderTN1" />
<!--Page Content-->
<div class="container1">
<div class="row">
<div class="container">
<div class="stepwizard">
<div class="stepwizard-row setup-panel">
<div class="stepwizard-step">
<a href="#step-1" type="button" class="btn btn-primary btn-circle">1</a>
<p>Step 1</p>
</div>
<div class="stepwizard-step">
<a href="#step-2" type="button" class="btn btn-default btn-circle" disabled="disabled">2</a>
<p>Step 2</p>
</div>
<%-- <div class="stepwizard-step">
<a href="#step-3" type="button" class="btn btn-default btn-circle" disabled="disabled">3</a>
<p>Step 3</p>
</div>--%>
</div>
</div>
<div class="row setup-content" id="step-1">
<div class="col-xs-12">
<div class="col-md-12">
<h3>Step 1</h3>
<div class="col-md-4">
<div class="contacts">
<label>Contacts:</label>
<div class="form-group multiple-form-group input-group">
<input type="text" name="multiple[]" class="form-control" />
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-add">+</button>
</span>
</div>
<div class="form-group multiple-form-group input-group">
<input type="text" name="multiple[]Phone" class="form-control" />
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-add">+</button>
</span>
</div>
<input type="button" onclick="JavaScriptFunction();" value="get Values" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="div1"></div>
<!-- Content -->
<div class="container">
<!-- Footer -->
<footertp:footertn runat="server" id="HeaderTN1" />
</div>
</form>
答案 2 :(得分:0)
没有一个输入,使用按钮点击事件它会添加文本框。文本框名称相同。用户使用按钮单击事件输入添加电子邮件。
使用以下javascript,我保存了用户在每个文本框中输入的所有电子邮件地址。以同样的方式,用户添加电话号码。
var arr = $("[name='multiple[]']");
$.each(arr, function (i, item) {
PageMethods.InsertContacts($(item).val(),"0111" ,"M0011", getValues_Success, getValues_Fail);
});
以上代码有效。如你所见,我写了#34; 0111&#34;。在那里,我必须插入由用户添加的值。以下代码显示用户添加的电话号码,保存所有电话号码。
var arr2 = $("[name='multiple[]Phone']");
$.each(arr2, function (i, item) {
PageMethods.InsertPhone($(item).val(), "M0011", getValues_Success, getValues_Fail);
});
我分开完成了这段代码。但我想将电子邮件和电话号码列表传递给一个mehtod。你能告诉我任何方法吗?