Javascript 同一页面中的多个按钮提交到Ajax
我在同一个页面上有多个按钮,比如50个或者更多,可以向Ajax wordpress提交一个值。它们看起来像这样:Javascript 同一页面中的多个按钮提交到Ajax,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我在同一个页面上有多个按钮,比如50个或者更多,可以向Ajax wordpress提交一个值。它们看起来像这样: <input id="1-57977357564a7" class="button-primary" type="submit" value="Done"/> <input id="2-57977357564a7" class="button-primary" type="submit" value="Done"/> <input id="3-57977
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done"/>
// And so on, more buttons
我需要传递id
一些如何使用此函数的信息我应该用Ajax编写什么来传递
id
我怎样才能使每个按钮都指向这个Ajax
由于Ajax可能不会传递
id
而不是一个值,因此我应该如何将任何值传递给AjaxAjax应该类似于:
$.ajax({
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
type: "POST",// I am not sure
data: // Something I don't know here
//may be more here
});
$.ajax({
url:“”,
键入:“POST”//我不确定
data://我在这里不知道
//这里可能更多
});
试试:
HTML:
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
function ajax($this) {
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "your address",
dataType: "your response type",
data: {
id: id
},
success: function (response) {
console.log(response);
}
});
}
if (isset($_POST["id"])) {
var_dump($_POST["id"]);
exit;
}
function ajax($this) {//If you got error "Function ajax is not defined" declare this before document ready
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
dataType: "text",
data: {
action: "update_completed_todos",// call the php function
id: id // store id
},
success: function (response) {
console.log(response);
}
});
}
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action( 'wp_ajax_nopriv_update_completed_todos', 'update_completed_todos' );
function update_completed_todos() {
$id = $_POST['id'];// store id from ajax
//do something with this id
}
PHP:
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
function ajax($this) {
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "your address",
dataType: "your response type",
data: {
id: id
},
success: function (response) {
console.log(response);
}
});
}
if (isset($_POST["id"])) {
var_dump($_POST["id"]);
exit;
}
function ajax($this) {//If you got error "Function ajax is not defined" declare this before document ready
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
dataType: "text",
data: {
action: "update_completed_todos",// call the php function
id: id // store id
},
success: function (response) {
console.log(response);
}
});
}
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action( 'wp_ajax_nopriv_update_completed_todos', 'update_completed_todos' );
function update_completed_todos() {
$id = $_POST['id'];// store id from ajax
//do something with this id
}
当然,您必须将数据类型和url更改为您的数据
wordpress方式
Javascript:
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
function ajax($this) {
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "your address",
dataType: "your response type",
data: {
id: id
},
success: function (response) {
console.log(response);
}
});
}
if (isset($_POST["id"])) {
var_dump($_POST["id"]);
exit;
}
function ajax($this) {//If you got error "Function ajax is not defined" declare this before document ready
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
dataType: "text",
data: {
action: "update_completed_todos",// call the php function
id: id // store id
},
success: function (response) {
console.log(response);
}
});
}
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action( 'wp_ajax_nopriv_update_completed_todos', 'update_completed_todos' );
function update_completed_todos() {
$id = $_POST['id'];// store id from ajax
//do something with this id
}
尝试:
HTML:
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
function ajax($this) {
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "your address",
dataType: "your response type",
data: {
id: id
},
success: function (response) {
console.log(response);
}
});
}
if (isset($_POST["id"])) {
var_dump($_POST["id"]);
exit;
}
function ajax($this) {//If you got error "Function ajax is not defined" declare this before document ready
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
dataType: "text",
data: {
action: "update_completed_todos",// call the php function
id: id // store id
},
success: function (response) {
console.log(response);
}
});
}
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action( 'wp_ajax_nopriv_update_completed_todos', 'update_completed_todos' );
function update_completed_todos() {
$id = $_POST['id'];// store id from ajax
//do something with this id
}
PHP:
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
function ajax($this) {
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "your address",
dataType: "your response type",
data: {
id: id
},
success: function (response) {
console.log(response);
}
});
}
if (isset($_POST["id"])) {
var_dump($_POST["id"]);
exit;
}
function ajax($this) {//If you got error "Function ajax is not defined" declare this before document ready
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
dataType: "text",
data: {
action: "update_completed_todos",// call the php function
id: id // store id
},
success: function (response) {
console.log(response);
}
});
}
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action( 'wp_ajax_nopriv_update_completed_todos', 'update_completed_todos' );
function update_completed_todos() {
$id = $_POST['id'];// store id from ajax
//do something with this id
}
当然,您必须将数据类型和url更改为您的数据
wordpress方式
Javascript:
<input id="1-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="2-57977357564a7" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
<input id="3-57977357564a9" class="button-primary" type="submit" value="Done" onclick="ajax($(this));return false;"/>
function ajax($this) {
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "your address",
dataType: "your response type",
data: {
id: id
},
success: function (response) {
console.log(response);
}
});
}
if (isset($_POST["id"])) {
var_dump($_POST["id"]);
exit;
}
function ajax($this) {//If you got error "Function ajax is not defined" declare this before document ready
var id = $this.attr("id");
$.ajax({
method: "POST",
url: "<?php echo esc_js( admin_url( 'admin-ajax.php' ) ) ?>",
dataType: "text",
data: {
action: "update_completed_todos",// call the php function
id: id // store id
},
success: function (response) {
console.log(response);
}
});
}
add_action('wp_ajax_update_completed_todos', 'update_completed_todos');
add_action( 'wp_ajax_nopriv_update_completed_todos', 'update_completed_todos' );
function update_completed_todos() {
$id = $_POST['id'];// store id from ajax
//do something with this id
}
使用onclick=“update\u completed\u todos('your param here')”代替type=“submit”使用type=“button”@Abbas,我认为onclick=不适用于php函数。这并没有回答我问题的ajax部分`事实上,这与我的问题毫无关系,因为我清楚地提到了这是ajax问题。使用onclick=“update\u completed\u todos('your param here')”代替type=“submit”使用type=“button”@Abbas,我认为onclick=不适用于php函数。这并没有回答我问题的ajax部分`事实上,这与我的问题毫无关系,因为我清楚地提到了这是ajax问题。这正是我想要的,它与wordpress ajax配合得非常好。谢谢。数据类型将是
“text”
,url将是“
,这正是我想要的,它与wordpress ajax配合得很好。谢谢。数据类型将是“text”
,url将是“