以下是我的表格

        <form id="form1">
        <table>
            <tr><td >Name:</td><td class="CommentsRight"><input type="text" name="txtName" style="width:90%" /></td></tr>
            <tr><td >Email: (Optional)</td><td class="CommentsRight"><input type="text" Name="txtEmail" style="width:90%" /></td></tr>
            <tr><td >Comment: </td><td class="CommentsRight"><textarea type="text" style="width:90%" Name="txtMessage" TextMode="MultiLine" Rows="10"></textarea></td></tr>
            <tr><td ></td><td class="CommentsRight"><input type="submit" width="100" ID="cmdSubmit" onclick="javascript: SubmitComment();" />&nbsp;&nbsp;&nbsp;<input type="button" ID="cmdCancel" Text="Reset" value="Reset" onclick="document.getElementById('form1').reset();" /></td></tr>
        </table>
    </form>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>


function SubmitComment()
{
    alert($("txtName").val());

    $.ajax({
        type: "POST",
        url: "@(Request.RawUrl)",
        data: '{txtCode: "' + $("#txtName.value") + '" }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function () { alert('success'); } ,
        failure: function (response) {
            alert(response.d);
        }
    });
}


警报一直带给警报未定义的信息,我是Ajax / Jquery的初学者。我尝试了#txtName,也尝试了输入,但是它没有返回我输入txtName的任何值,我在做什么错。然后,我想扩展数据,以便将所有输入字符串传递给数据。

简而言之,


如何获取txtName.text的值
如何建立数据字符串,使其包含单独的数据值


非常感谢您的帮助。

最佳答案

您不能像这样做那样使用$(“ txtName”)。 jQuery将不知道该选择什么。没有类/ ID或任何其他选择器。而不是使用$("input[name=txtName]").val()或给txtName一个类或ID(就像我在下面的示例中所做的那样)。

如果要立即通过不错的Json发送表单,则需要对其进行序列化:

var data = $("#form1").serialize();


https://jsfiddle.net/gahapv4t/

关于javascript - 初学者到JQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39509705/

10-11 14:09