我遇到了问题。当我点击提交时,我的表单值将被发送到数据库。但是,我希望表单将值发送到数据库并执行我的脚本,如标题中所述。
当我点击提交按钮时,表单将被发送到数据库并且脚本仍然被忽略。但是,如果我将空值输入到输入区域,则会执行javascript,并执行我想要的操作(即显示隐藏的< div>),但由于<< div> div>是空的,因为服务器没有输出。
我想要的是:
提交按钮 - >提交表单 - > javascript已执行> div出现>在div数据库中,SELECT FROM值(通过提交表单添加的值)出现。
这可能吗?我的意思是,像这样混合使用PHP和JavaScript吗?
提前致谢。
答案 0 :(得分:1)
通过两种方式,您可以轻松修复它。
- 通过ajax - 提交表单并获得回复
醇>
$('form').submit(function (e){
e.preventDefault();
$.ajax({
type: "POST",
url: url, //action
data: form.serialize(), //your data that is summited
success: function (html) {
// show the div by script show response form html
}
});
});
- 首先提交您的行动。在此页面,您可以执行脚本代码..在操作文件中,
醇>
<?php
if(isset($_POST['name']))
{
// save data form and get response as you want.
?>
<script type='text/javascript'>
//div show script code here
</script>
<?php
}
?>
答案 1 :(得分:0)
她是上面评论的样本。
在javascript函数中你可以这样做
$.post( '<?php echo get_site_url(); ?>/ajax-script/', {pickup:pickup,dropoff:dropoff,km:km}, function (data) {
$('#fare').html(data.fare);
//alert(data.fare);
fares = data.fare;
cityy = data.city;
actual_distances = data.actual_distance;
}, "json");
在这个ajax调用中我将一些参数发送到ajaxscript页面,在ajaxscript页面上,我调用了一个web服务并获得了这样的响应
$jsonData = file_get_contents("https://some_URL&pickup_area=$pickup_area&drop_area=$drop_area&distance=$km");
echo $jsonData;
此 echo $ jsonData 将数据发送回上一页。 在上一页上,您可以看到我使用数据。来获取转发。
希望这会有所帮助!!
答案 2 :(得分:0)
您可以使用jQuery ajax来完成它。
$('form').submit(function (e){
e.preventDefault();
$.ajax({
type: "POST",
url: url, //url where the form is to be submitted
data: data, //your data that is summited
success: function () {
// show the div
}
});
});
答案 3 :(得分:0)
您需要 ajax !这样的事情。
<强> HTML 强>
<form method='POST' action='foobar.php' id='myform'>
<input type='text' name='fname'>
<input type='text' name='lname'>
<input type='submit' name='btnSubmit'>
</form>
<div id='append'>
</div>
<强>的jQuery 强>
var $myform = $('#myform'),
$thisDiv = $('#append');
$myform.on('submit', function(e){
e.preventDefault(); // prevent form from submitting
var $DATA = new FormData(this);
$.ajax({
type: 'POST',
url: this.attr('action'),
data: $DATA,
cache: false,
success: function(data){
$thisDiv.empty();
$thisDiv.append(data);
}
});
});
在 foobar.php
中<?php
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$query = "SELECT * FROM people WHERE fname='$fname' AND lname = '$lname' ";
$exec = $con->query($query);
...
while($row = mysqli_fetch_array($query){
echo $row['fname'] . " " . $row['lname'];
}
?>
那就是它!希望它有所帮助
答案 4 :(得分:0)
是的,你可以混合使用PHP和JavaScript。我在这里给你一个粗略的解决方案。
Observable.just(command_string)
.map(new Func1<String, Command>() {
@Override
public Command call(String command_string) {
......;
}
})
.filter(new Func1<Command, Boolean>() {
@Override
public Boolean call(Command file) {
ThreadUtils.logThreadSignature(TAG);
return !isExcuetingCmd;
}
})
.subscribeOn(Schedulers.io())
.map(new Func1<Command, CmdResponse>() {
@Override
public CmdResponse call(Command command) {
//stupid code...
switch (cmd)
{
case CMD_1:
...
CmdResponse = xxx
break;
case CMD_2:
...
CmdResponse = xxx
break;
case CMD_3:
...
CmdResponse = xxx
break;
}
return CmdResponse;
}
})
.flatMap(new Func1<CmdResponse, Observable<String>>() {
@Override
public Observable<String> call(CmdResponse cmdResponse) {
return Observable.just(gson.toJson(CmdResponse));
}
});
答案 5 :(得分:0)
是的,这可能是ajax的最大用途。我会使用jquery $ .post
$("#myForm").submit(function(e){
e.preventDefault();
var val_1 = $("#val_1").val();
var val_2 = $("#val_2").val();
var val_3 = $("#val_3").val();
var val_4 = $("#val_4").val();
$.post("mydbInsertCode.php", {val_1:val_1, val_2:val_2, val_3: val_3, val_4:val_4}, function(response){
// Form values are now available in php $_POST array in mydbInsertCode.php - put echo 'success'; after your php sql insert function in mydbInsertCode.php';
if(response=='success'){
myCheckdbFunction(val_1,val_2,val_3,val_4);
}
});
});
function myCheckdbFunction(val_1,val_2,val_3,val_4){
$.post("mydbCheckUpdated.php", {val_1:val_1, val_2:val_2, val_3: val_3, val_4:val_4}, function(response){
// put echo $val; from db SELECT in mydbSelectCode.php at end of file ';
if(response==true){
$('#myDiv').append(response);
}
});
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
&#13;