2

我知道也有一些类似的问题,但它们对我没有帮助。我在 Scala Play 框架中做这件事。我在下面发布我的代码:

var saveNameRequest;    
function saveName(){
        if(!saveNameRequest){   
        saveNameRequest=$.ajax({
            type:"POST",                
            url:"edit?editType=saveName",
            data: $("#nameForm").serialize(),
            complete:function(){saveNameRequest=false},
            success: function(data){
                alert($("#nameForm").serialize())
            }//end success
          });
    }
}

表单序列化不起作用,正在打印一个空字符串。什么都没有通过帖子,请帮助

<form method="POST" name="nameForm" id="nameForm">
        <tr>
            <td><font color=#3b5999>First Name:</font></td>
            <td><input type="text" name="fname" id="fname" value="@fName"></td>
        </tr>
        <tr>
            <td><font color=#3b5999>Middle Name:</font></td>
            <td><input type="text" placeholder="optional" name="mname" id="mname" value="@mName" ></td>
        </tr>
        <tr>
            <td><font color=#3b5999>Last Name:</font></td>
            <td><input type="text" name="lname" id="lname" value="@lName"></td>
        </tr>

        <tr>
            <td></td>
            <td><input name="save" id="save" type="button" value="save" onClick="saveName()"></td>
        </tr>
    </form>
4

2 回答 2

2

我发现表单序列化不适用于 scala 2.10 中的 facebox 我们必须发送所有字段的数据,这是我得到的唯一解决方案,

data:{
"fname":document.getElementById("fname").value,
"mname":document.getElement‌​ById("mname").value,
"lname":document.getElementById("lname").value
}
于 2013-10-17T06:59:19.277 回答
1

你还没有关闭你的saveName()功能。关闭后试试。另外,请确保saveName()在外面document.ready()

将密钥添加到 ajax 数据参数以发送序列化字符串,如下所示:

data: { formData: $("#nameForm").serialize() },

编辑了小提琴,它似乎工作

于 2013-10-06T08:36:31.020 回答