将jquery附加到表单中

时间:2015-06-26 12:41:40

标签: jquery html css

我正在尝试将我的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

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

有两个问题。

  1. 在JavaScript中进行字符串连接时,您应该使用+运算符而不是.

  2. 您不能阻止该事件的默认操作。页面已提交/刷新,您无法看到附加的元素。

    $('form').submit(function(event) {
        event.preventDefault();
        var fname= $('input#form_fname').val();
        // ...
        $('tr').append('<td>' + fname + '</td>');
    });
    
  3.   

    $('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);
        });
    });
    

    https://jsfiddle.net/zbb6fqtc/9/

答案 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);

https://jsfiddle.net/zbb6fqtc/5/

答案 3 :(得分:0)

你必须先阻止提交。

 $('form').submit(function(e){
     e.preventDefault(); //Prevent submit

 });

也许如果你想在那个表中添加多个tr,你可能需要使用另一个这样的选择器

$('table tbody').append('<tr><td>'+fname+'</td>  <td>'+lname+' </tr>');