我的代码
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<form>
<button id="test" value="123" name="test" >ok</button>
</form>
<script>
$(document).ready(function () {
$("#test").click(function() {
var combinedData = $("#test").serialize();
$.post(
"element_submit.php",
combinedData
).done(function(data) {
//alert("Successfully submitted!");
$("#result").html(data);
}).fail(function () {
//alert("Error submitting forms!");
})
});
});
</script>
<div id="result" ></div>
element_submit.php 文件
<?php
//just to test it should output in the #result div
echo $_POST['test'];
?>
我要做的是使用值=&#34;属性&#34; 提交 ,以便数据被序列化并发送帖子请求,&当用户插入一个值并提交时,我不需要提交,我需要的是获取值属性并提交给php,这段代码仅用于简化和说明我想要做的事情,因为在此页面我有以下带有ID的按钮#follow #unfollow所以我需要一种方法来获取按钮值以使用户关注和取消关注。
答案 0 :(得分:1)
您需要序列化表单 - 而不是其中的元素。您还可以在表单外部使用触发按钮,这将阻止单击按钮单击提交表单。
<form id="testForm">
<input type="hidden" name="testInput" value="123"/>
</form>
<button name="test" id="testButton">submit</button>
...
<script>
$(document).ready(function () {
$("#testButton").click(function() {
var combinedData = $("#testForm").serialize();...
$(document).ready(function () {
$("#testButton").click(function() {
var combinedData = $("#testForm").serialize();
console.log(combinedData);
})
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="testForm">
<input type="hidden" value="123" name="testinput"/>
</form>
<button id="testButton">Click</button>
&#13;
答案 1 :(得分:1)
Straight JS可能会帮助你。包含一个发送id并获取该id值的函数。然后只发送一个值的常规帖子,而不是序列化......更容易。
<script>
function fetchButtonValue(theId){
var p = document.getElementById(theId).value;
alert (p);
}
</script>
<button id="myFormBtn" value ="woo"
onclick="fetchButtonValue(this.id)">My Button</button>
这有效......
你也可以在按钮上放一个课,让我们说class =&#34; followBTN&#34;然后在点击时你可以通过$(this).val()获取值。如果每页有多个按钮,我会使用这个方法。