php無刷新提交
<metacharset="utf-8">
<formid="uploadForm">
<p>指定文件名:<inputtype="text"name="filename"value=""/></p>
<p>
上傳文件:
<inputtype="file"name="photo"onchange="showPreview(this)"class="file"/>
<imgid="portrait"src=""width="70"height="75">
</p>
<inputtype="button"value="上傳"onclick="doUpload()"/>
</form>
<scriptsrc="http://www.haoyunyun.cn/jquery.js"></script>
<script>
functiondoUpload(){
varformData=newFormData($("#uploadForm")[0]);
$.ajax({
url:'submit.php',
type:'POST',
data:formData,
async:false,
cache:false,
contentType:false,
processData:false,
success:function(returndata){
alert(returndata);
},
error:function(returndata){
alert(returndata);
}
});
}
</script>
<scripttype="text/javascript">
functionshowPreview(source){
varfile=source.files[0];
if(window.FileReader){
varfr=newFileReader();
fr.onloadend=function(e){
document.getElementById("portrait").src=e.target.result;
};
fr.readAsDataURL(file);
}
}
</script>
<?php
if($_FILES['photo']['error']>0){
echo"上傳文件失敗";
die;
}
$dir='./photo/';
$type=substr($_FILES['photo']['name'],strrpos($_FILES['photo']['name'],'.'));
$filename=time().rand(1000,9999).$type;
if(is_uploaded_file($_FILES['photo']['tmp_name'])){
move_uploaded_file($_FILES['photo']['tmp_name'],$dir.$filename);
echo"上傳成功";
}else{
echo"上傳文件失敗";
}
㈡ php jquery ajax 無刷新登錄成功後,如何返回值
可以在表單提交時,提交到自身頁面就可以,解決這個問題。
或者在userlogin.php里加上一段加上JAVASCRIPT代碼跳轉到login.php頁面
㈢ 怎麼實現php表單提交後不跳轉
<?php
if(!empty($_POST['username']))
{
echo "<script language='javascript'>alert('提交成功,謬條轉 ');</script>";
}
?>
跳不跳那。。。。。。。。。。。。。
<form action="#" method="post" >
<input type="text" name="username">
<input type="submit" value="提交" >
</form>
㈣ php中調用js的方法,用的ajax做的一個表單提交無刷新,在提交完之後如何重置清空本文框
你這段代碼
<script>
functiontts(){
document.getElementById("sname").value="";
document.getElementById("pwd'").value="";
}
</script>
是在php文件中的。php服務於伺服器,js是操作客戶端,兩者不可直接相互調用。你的php文件根據用戶提交的數據情況,返回相應的字元串:此處是一段javascript命令:
<scripttype="text/javascript">tts()</script>
客戶端的ajax方法接收到伺服器返回來的這段命令(字元串)之後,只會把它當作普通字元串處理,並不會把它作為新的DOM節點,(<script></script>這是一個節點)。
你的本意是返回命令:告訴客戶端執行函數:tts(),但客戶端並沒有這個函數,所以你應該在客戶端代碼中添加tts()函數。既然是伺服器上的php告訴客戶端要執行函數tts()以清空文本框,那麼這種告訴方式有無窮多種。也就是說,客戶端根據伺服器返回來的數據執行相應的命令,比如若伺服器返回 "ABC",則執行命令:alert("ABC"),或干點別的什麼事情。
實際上這是很簡單就可以做得到的。樓主想得復雜化了。
一句話:
ajax根據伺服器(php)返回的數據(命令或消息)執行相應的代碼,只要你願意。
補充:樓主為什麼要把javascript函數tts放在php文件中呢?害怕客戶知道這個函數的具體代碼?
瀏覽器不知道函數的代碼是什麼怎麼執行!!
㈤ ajax如何實現表單修改後無刷新提交到php頁面並且傳遞的參數是變數呢
提交按鈕加onclick
js 方法獲取輸入值,ajax傳輸,php處理
你是不會ajax?