gpt4 book ai didi

javascript - 表单重新加载页面,提交时不发送数据

转载 作者:行者123 更新时间:2023-11-28 05:29:18 25 4
gpt4 key购买 nike

这是我的代码。

在我的 .js 文件中:

function Sendit()
{
bValidate = validateField();
if(bValidate)
{
var title = $("#title").val();

theUrl = 'index.php';

params = '';
params += 'action=Send';
params += '&title='+title;
$.ajax ({
url: theUrl,
data: params,
async:true,
success: function (data, textStatus)
{
//do smth
alert('went well');

}
,
error: function(jqXHR, textStatus, errorThrown)
{
alert(errorThrown);
}
});
}
}

function validateField()
{
var title = document.getElementById('title').value;
if(!title.match(/\S/))
{
//do some alerting
return false;
}
else
{
return true;
}
}

在我的index.php 文件中:

<form action="" method="post" name="myform" id="myform"" > 
Title: <input class="" type="text" name="title" value="" id="title"/> <br>
<input type="submit" value="Submit" onClick="javascript:Sendit();return false; ">
</form>

<?php
if ($_REQUEST["action"]=='Send')
{
$title = $_REQUEST["title"];


$sql = "INSERT INTO ...
$retval = $mysqli->query($sql, $conn);

if(! $retval ) {
echo('Could not enter data insert: ' . mysql_error());
}
else
{
//inform that everything went well

}
?>

单击 sunmit 按钮时不会发送任何内容。事实上,您可以单击该按钮,直到一天结束时什么也没有发生(甚至调试器中没有消息)

如果我从按钮中的 onClick 中删除 return false;,我单击该按钮,即使不填写必须填写的标题输入,页面也会重新加载填写即可。

Ajax 的成功不会引起任何警报,并且在这两种情况下,我的数据库中都不会插入任何内容。

插入查询是正确的,我已经检查过了。

关于如何发送数据和验证有什么想法吗?

谢谢

最佳答案

使用下面的代码发送请求。

function Sendit()
{
bValidate = validateField();
if(bValidate)
{
var title = $("#title").val();

theUrl = 'index.php';

params = {};
params["action"] = 'Send';
params["title"] = title;
$.ajax ({
url: theUrl,
data: params,
async:true,
success: function (data, textStatus)
{
//do smth
alert('went well');

}
,
error: function(jqXHR, textStatus, errorThrown)
{
alert(errorThrown);
}
});
}
}

关于javascript - 表单重新加载页面,提交时不发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39856042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com