0

ユーザーがボタンをクリックすると、次のTextFieldsの値をにあるWebサービスに送信する必要があります/TestService/SaveMethod

 <div class="content">
                  @Html.TextBoxFor(mo => mo.id, new { id = "id" })     
                 <input type="text" id="fname" name="fname" />     
                <input type="submit" value="send" class="save"/>

        </div>

jquery:

$(function () {
    $('.save').click(function () {  // How to grab the values of those textfields and send it over the webservice located at `/TestService/SaveMethod` });


});
4

4 に答える 4

0

jquery ajax でそれを行うことができます。これはテスト済みのコードです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Test webservices</title>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

    <script>
        $(document).ready(function () {
            $('#submit').click(function (e) {
                e.preventDefault();
                var x = $('#myval').val();
                $.ajax({                                      
                    url: 'webservice.php', 
                    type: 'GET',
                    contentType: 'text/html',
                    dataType: 'text',
                    data:  {
                         data : x
                    },
                    success: function(response)
                    {
                        alert("data send to webservice");
                    },
                    error: function (response) 
                    {
                    },
                });         
            });
        });

    </script>
</head>
<body>
    <form action='' method='get'>
        <input type='text' name='myval' id='myval' >
        <input type='submit' value='Go' id='submit' >
    </form>

</body>
</html>

これで問題が解決することを願っています。

于 2013-02-26T09:58:39.787 に答える
0

明示的にそれを使用したい場合を除き、jQuery は必要ありません。それは ajax でも同様です。次のように 1 つのフォームを html に配置するだけです。

 <div class="content">
   @using(Html.BeginForm("SaveMethod","TestService",new{},FormMethod.Post,new{}){
    @Html.TextBoxFor(mo => mo.id, new { id = "id" },new{})     
    <input type="text" id="fname" name="fname" />     
    <input type="submit" value="send" class="save"/>
   }
  </div>
于 2013-02-26T09:20:43.813 に答える
0

val() メソッドを使用してその値にアクセスし、ajax post を使用してその値を Web サービスに送信することで、スクリプト内のテキスト フィールドの値を取得できます。

$(function () {
    $('.save').click(function () {  

 var name = $("#taYourName").val();
        $.ajax(
        {
            Type: "POST",
            contentType: "application/xml",
            url: "YourNameIs.asmx/YourName",
            data: { yourName: name },
            success: function (msg) {
                $("#lblForAjax").text(msg);
            }
        });


});
});
于 2013-02-26T09:20:49.773 に答える
0

次のようにする必要があります。名の値が表示されます。

$(function () {
    $('.save').click(function ()
    {
        var name = $("#fname").val();
    });
});
于 2013-02-26T09:24:04.537 に答える