【发布时间】:2013-06-27 18:51:35
【问题描述】:
为什么不使用 jQuery post 值动态创建文本框到控制器中的 post 方法?
jQuery代码如下:
$(document).ready(function () {
var counter = 0;
var curContactCount = $("#contactcount").val();
$("#addContactButton").click(function () {
if (parseInt(counter) + parseInt(curContactCount) >= 50) {
alert("Only 50 Contacts allowed");
return false;
}
var firstNameStr = 'NewContactList[' + counter + '].FirstName';
var firstNameId = firstNameStr.replace("[", "_").replace("]", "_").replace(".", "_");
var newTextBoxDiv1 = $(document.createElement('div')).attr("id", 'NewContactGroup');
newTextBoxDiv1.html(
' <div class="column-margin-20t20b">' +
' <div class="box">' +
' <div class="left">' +
'<label for="' + firstNameId + '">First Name</label>' +
' </div>' +
' <div class="right">' +
' <input type="text" name="' + firstNameStr + '" id="' + firstNameId + '" value=""></input>' +
' </div>' +
' </div>' +
' </div>'
);
newTextBoxDiv1.appendTo("#mainDivNewClient");
counter++;
});
});
控制器代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddNewClient(ClientViewModel clientToAdd, System.Collections.Generic.Dictionary<string, string> qString)
{
try
{
if (ModelState.IsValid)..........
在 clientToAdd 中,我将 NewContactList 设为 nulll。为什么?
【问题讨论】:
-
使用 jquery 的 on 或 live 方法,如 $("#addContactButton").on('click', function ()
-
您提交的输入是否有表单标签
-
谢谢大家的回复。我尝试了如下所有方法: 1. 尝试了 $("#addContactButton").on('click', function () 但没有解决问题。 2. 链接到 Anil 建议的链接,但我认为在我的情况下我正在附加首先然后提交表单,所以这似乎不是问题。3.我的输入确实有表单标签,我正在发布我的代码在“检查元素”时的样子的屏幕打印。它确实显示
标签: jquery asp.net-mvc