javascript-onsubmit触发事件把表单数据发送到相关php处理问题

问题描述

onsubmit触发事件把表单数据发送到相关php处理问题
问题详情:onsubmit触发事件把表单数据发送到相关php处理但是如何避免数据有问题时也会触发事件呢?

function dosubmit(){ window.open('num3.php?cf='+window.form.cf.value+'&cf1='+window.form.cf1.value); }
<?php
require_once('appvars.php');
require_once('connectvars.php');

if(isset($_POST['submit'])){ //第10行

$name=$_POST['name'];
$score=$_POST['score'];
$st=$_FILES['st']['name'];
$st_type=$_FILES['st']['type'];
$st_size=$_FILES['st']['size'];
$output_form=false;

if( empty($name) || empty($score) || empty($st))
{
echo'Something is wrong !
';
$output_form=true;
}
//第20行
else{

if( (($st_type=='image/gif')||($st_type=='image/jpeg')||($st_type=='image/pjeg')||($st_type=='image/png')) && ($st_size >0) && ($st_size <=MAX_FILE_SIZE) )
{

if($_FILES['st']['error']==0){

$target=GW_UPLOADPATH .$st;
//第30行

if(move_uploaded_file($_FILES['st']['tmp_name']$target)){

$dbc=mysqli_connect(HOSTUSERPASSWORDNAME);

$st=$_FILES['st']['name'];
$query=""INSERT INTO b (datestscorename)"".
VALUES(NOW()'$st''$score''$name')"";
//第40行

mysqli_query($dbc$query)
or die('UU');

echo'You are success to add dates to Mysql '.'<br>';echo 'Name :'.$name.'<br>';echo 'Score : '.$score.'<br>';echo 'Photo :'.'<img src=""'.GW_UPLOADPATH.$st.'"" >';                //第50行          echo'<p><a href=""index.php"">Back to index page</a></p>';

//clear the score datas
$name="""";
$score="""";
$st="""";

mysqli_close($dbc);

}//if(move_uploaded_f

else
{
echo $_FILES['st']['error'];
echo'
文件没有移动成功 !!';//第60行

}

}//if($_FILES['st']['error']

else
echo'There is something wrong to upload the file ! Plese upload it agian.';

}//if(($st_type=='image/gif'

else echo'

The screen pic must be a GIFJPEG or PNG image and the file '.'size must fit '.'(MAX_FILE_SIZE/1024)'.'KB.

';

}//else                //第70行

//Try to delete the temporary screen shot image file.

@unlink($_FILES['st']['tmp_name']);

}else $output_form=true;

if($output_form){
?>

Your name:
Your score:
Your Photo:
商品交易; 商品互换;
<?php } ?>

解决方案

在处理函数的开头加上一些前置检查,如果不符合就不再继续执行,直接返回,提示数据不合法就行了呗。

解决方案二:
当 onsubmit 触发事件的处理函数返回 false 时,表单不会被提交

解决方案三:
表单onsubmit事件检查你的数据,不通过return false
<br> function check(f){<br> if(f.un.value==''){alert('请输入用户名!');f.un.focus();return false}<br> //...其他的<br> }<br>

时间: 2024-10-10 20:19:34

javascript-onsubmit触发事件把表单数据发送到相关php处理问题的相关文章

jQuery ajax中使用serialize()方法提交表单数据示例_AJAX相关

jQuery ajax中数据以键值对(Key/Value)的形式发送到服务器,使用ajax提交表单数据时可以使用jQuery ajax的serialize() 方法表单序列化为键值对(key1=value1&key2=value2-)后提交.serialize() 方法使用标准的 URL-encoded 编码表示文本字符串.下面是使用serialize()序列化表单的实例: 复制代码 代码如下: $.ajax({   type: "POST",   url: ajaxCallU

javascript判断触发事件event的光标坐标,相对于客户区和屏幕

相对于客户区的坐标的使用:   <html><head><script type="text/javascript">function show_coords(event){x=event.clientXy=event.clientYalert("X 坐标: " + x + ", Y 坐标: " + y)}</script></head> <body onmousedown=&qu

javascript判断触发事件event的元素类型

<html><head><script type="text/javascript">function whichElement(e){var targif (!e) var e = window.eventif (e.target) targ = e.targetelse if (e.srcElement) targ = e.srcElementif (targ.nodeType == 3) // defeat Safari bug   targ

键盘 keycode的值 javascript时触发事件时很有用的要素_基础知识

keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode 5 = keycode 6 = keycode 7 = keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 10 = keycode 11 = keycode 12 = Clear keycode 13 = Enter keycode 14 = keycode 15 = keycode 16 =

用javascript获取当页面上鼠标光标位置和触发事件的对象的代码_javascript技巧

用javascript获取鼠标位置: 复制代码 代码如下: function mousePosition(ev) { if (ev.pageX || ev.pageY) { return { x: ev.pageX, y: ev.pageY }; } return { x: ev.clientX + document.body.scrollLeft - document.body.clientLeft, y: ev.clientY + document.body.scrollTop - docu

JavaScript入门之事件、cookie、定时等_基础知识

一篇关于"JavaScript语言入门"的文章涵盖了JavaScript语言中许多最基础的内容,从创建脚本标签到使用注释.把JavaScript文件包含到HTML文档中.定义变量.使用运算符.定义数组.使用条件语句.定义函数和使用循环等.本文从上一篇文章结束的地方开始,解释其他的一些基本的JavaScript语言概念,继续为初学者提供对语言的基础理解.本文提及的基础内容能够让你更好地理解所使用的库,知道如何就究竟要不要使用库做出决定,甚至有可能会给你带来一些编写自己的库的勇气.文章自始

javascript 触发事件列表 比较不错_基础知识

1.单击事件___onclick 用户单击鼠标按键时产生的事件.同时onclick指定的事件处理程序或代码将被调用执行. 如:<input type="button" value="打开页面" onlick="window.open('xxxx.html','newwindow','width=456,height=230,toolbar=no,menubar=no,scrollbars=yes');"> 2.改变事件___oncha

post 表单数据时 再添加一个 jquery+ajax 事件?

问题描述 post 表单数据时 再添加一个 jquery+ajax 事件? $(""#fsForm1975437"").submit(function () { $.ajax({ url: ""editorial.ashx"" type: ""post"" dataType: ""json"" data: obj cache: false asyn

javascript定时保存表单数据的代码_javascript技巧

(忘记是不是两家邮箱都有这个功能). 那这个功能是怎么做的呢? 定时,我们知道怎么弄,但保存呢?也许我们会通过隐藏域等手段来存放数据.但是,这个却有个缺点:那就是刷新页面后,数据将会丢失. 而此时,就该轮到我们很少关注,而且估计有不少人不知道的UserData 行为(userData Behavior)登场了: 而这个UserData是什么?怎么用?,我将在文章最后转载一篇介绍它的文章. 现在,我直接上例子,所谓无代码,无真相嘛: 复制代码 代码如下: <!DOCTYPE html PUBLIC