我已经看到了一些可以追溯到2011年左右的方法,以便采用表单并通过ajax发布其数据。jquery。我已经尝试了几次,尽管使用了preventdefault functions
.
我试图从我的表单中获取数据,让jQuery通过定位实际的表单id来侦听表单提交,然后调用PHP函数,以便将数据发布到db。最终,除了重新加载页面之外,什么都不会发生。由于这是一个可湿性粉剂页面,我知道一些功能和处理不同于常规网页。像ajax url这样的东西可以传递回函数等。这就是我在这里发布此内容的原因。
表格:
function add_entry(){
?>
<form action="" method="post" id="ajax-add-to-form" autocomplete="off">
<input type="text" id="FName" name="FName" placeholder="First Name" value="" required>
<input type="text" id="LName" name="LName" placeholder="Last Name" value="" required>
<select id="size" required>
<option value="">Size</option>
<?php for($i=1; $i<=15; $i++){?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
<input type="text" id="MobileNumber" name="MobileNumber" placeholder="Phone Number" value="" required>
<input type="email" id="Customer_Email" name="Customer_Email" placeholder="Email Address" value="" required>
<input type="submit" name="ajax-add-to-form" value="Add to">
<?php
}
add_shortcode(\'add_entry\', \'add_entry\');
</form>
the jquery
jQuery(\'document\').ready( function(){
jQuery(\'#ajax-add-to-form\').on(\'submit\', function(e){
e.preventDefault();
jQuery(\'#jx-loading\').show();
jQuery.ajax({
type: \'post\',
url: my_ajax.ajax_url,
data: {
action: \'ajax-php-function\'},
success: function(data)
{jQuery(\'#jx-loading\').hide();}
})
});
return false;
});
the php
function ajax-php-function() {
global $wpdb;
$table = "mytablename";
$FName= $_POST[\'FName\'];
$LName= $_POST[\'LName\'];
$MobileNumber= $_POST[\'MobileNumber\'];
$Email = $_POST[\'Email \'];
$data = array(
\'FName\' => $FName,
\'LName\' => $LName,
\'MobileNumber\' => $MobileNumber,
\'Email\' => $Email);
$success = $wpdb->insert( $table, $data );
if($success)
{echo json_encode($last_data);}
else{ echo \'error\'; } die;
}