我正在尝试将我的jQuery表单值附加到var formats = new string[]
{
"MMddyyyy",
"yyyy-MM-dd",
"yyyy/MM/dd",
"MM",
"MMM",
"MMMM"
}
var dateTime = DateTime.ParseExact(date, formats, new CultureInfo("en-US"), DateTimeStyles.None);
标记下的表中。
但由于某种原因,它不会在表格中追加或发布值。
这是我的jQuery:
<td>
这是JSFIDDLE:this DateTime.ParseExact
overload
有什么想法吗?
答案 0 :(得分:2)
有两个问题。
在JavaScript中进行字符串连接时,您应该使用+
运算符而不是.
。
您不能阻止该事件的默认操作。页面已提交/刷新,您无法看到附加的元素。
$('form').submit(function(event) {
event.preventDefault();
var fname= $('input#form_fname').val();
// ...
$('tr').append('<td>' + fname + '</td>');
});
$('tr').append('<td>' + fname + '</td>');
- &gt;&gt;&gt;&gt;&gt;这部分搞砸了桌子。知道为什么吗?
您的标记无效。您应该使用th
元素包装tr
元素。浏览器通常会修复标记。因此$('tr')
元素会选择tr
元素的thead
子元素。您应该使用更具体的选择器来选择tr
元素的tbody
子元素。类似于$('tbody tr')
或$('tr').eq(1)
。
有没有更好的选择来追加这个?
我会将空单元格添加到tr
元素,并使用input
值填充单元格。
<table border="1">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email Address</th>
<th>Contact #</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
JavaScript的:
$('form').submit(function (event) {
event.preventDefault();
var $td = $('tbody tr td');
$('input', this).each(function (i) {
$td.eq(i).text(this.value);
});
});
答案 1 :(得分:1)
你的js中的小问题,修复,测试和100%工作...代码低于问题
1)字符串连接问题,其“+”表示js和“。”对于php
2)添加了event.preventdefault()以防止默认提交
<script> $(document).ready(function(event){ $('form').submit(function(event){ event.preventDefault(); var fname= $('input#form_fname').val(), lname = $('input#form_lname').val(), email = $('input#form_email').val(), phone = $('input#form_phone').val(); $('tr').append('<td>'+fname+'</td>'); }); }); </script>
答案 2 :(得分:0)
更改按钮类型提交到按钮。
<p>
<input type="button" id="bnSubmit" value="Add User" />
</p>
在jQuery按钮点击事件上编写代码:
$(document).ready(function(){
$("#bnSubmit").click(function(){
var fname= $('input#form_fname').val(),
lname = $('input#form_lname').val(),
email = $('input#form_email').val(),
phone = $('input#form_phone').val();
$('tr').append('<td>'+fname+'</td>');
});
});
注意:替换&#34;。&#34;用&#34; +&#34; - &GT; $(&#39; TR&#39)。追加(&#39;&#39 + + FNAME&#39;&#39);
答案 3 :(得分:0)
你必须先阻止提交。
$('form').submit(function(e){
e.preventDefault(); //Prevent submit
});
也许如果你想在那个表中添加多个tr,你可能需要使用另一个这样的选择器
$('table tbody').append('<tr><td>'+fname+'</td> <td>'+lname+' </tr>');