10/10/2018, 09:49

giúp đỡ "lấy tên ảnh khi upload", javascript

mình có đoạn code như sau :
/////////////////////////
<script>
function ham(x)
{
//var x=document.getElementById("mot").value;
//alert(x);
document.getElementById("hai").innerHTML=x;
}
</script>
<form action="">
<input type="file" id="mot" onchange="ham(this.value)">
</form>
<span id="hai"></span>
//////////////////////////
trong firefox , nó đã lấy được tên ảnh trước khi up, nhưng ie thì không , có cách nào hông các bạn
thanggky viết 11:55 ngày 10/10/2018
<?php
if(isset($_POST['txtTitle']))
{
$albumId = $_POST['cboAlbum'];
$imgTitle = $_POST['txtTitle'];
$imgDesc = $_POST['mtxDesc'];

$images = uploadImage('fleImage', GALLERY_IMG_DIR);

if ($images['image'] == '' && $images['thumbnail'] == '') {
echo "Error uploading file";
exit;
}

$image = $images['image'];
$thumbnail = $images['thumbnail'];

if (!get_magic_quotes_gpc()) {
$albumName = addslashes($albumName);
$albumDesc = addslashes($albumDesc);
$imgPath = addslashes($imgPath);
}

$sql = "INSERT INTO tbl_image (im_album_id, im_title, im_description, im_image, im_thumbnail, im_date)
VALUES ($albumId, '$imgTitle', '$imgDesc', '$image', '$thumbnail', NOW())";

mysql_query($sql) or die('Error, add image failed : ' . mysql_error());

echo "<script>window.location.href='index.php?page= list-image&album=$albumId';</script>";
exit;
}

// Tao Danh Sach Album
$sql = "SELECT al_id, al_name
FROM tbl_album
ORDER BY al_name";
$result = mysql_query($sql) or die('Error, get album list failed : ' . mysql_error());

$albumList = '';
$selectedAlbum = isset($_GET['album']) ? $_GET['album'] : '';
while ($row = mysql_fetch_assoc($result)) {
$albumList .= '<option value="' . $row['al_id']. '"';

if ($row['al_id'] == $selectedAlbum) {
$albumList .= ' selected';
}

$albumList .= '>' . $row['al_name'] . '</option>';
}
?>
dokhacluan viết 12:04 ngày 10/10/2018
cái này chưa cần kết nối mýql mà...
mà bếu có kết nối thì cũng cho mình bít kết cấu table , datbase chứ , như vậy thì sao chạy code được
ads viết 11:53 ngày 10/10/2018
Được gửi bởi dokhacluan
trong firefox , nó đã lấy được tên ảnh trước khi up, nhưng ie thì không , có cách nào hông các bạn
IE vẫn chạy được code này mà bạn cái span hai vẫn hiện ra tên file name đó thôi. Bác chạy IE phiên bản nào mà kêu không được?
dokhacluan viết 11:51 ngày 10/10/2018
minh dung ie8
đúng là co ra nhưng nó ra như thế này "C:\fakepath\5.jpg" (co C:\fakepath\ ma lẽ r chỉ là 5.jpg
--> dan den khong load ảnh dc)
mình thử :
///////////////////////////////
<script>
function ham(x)
{
//var x=document.getElementById("mot").value;
//alert(x);
x=x.replace(/C:\fakepath\/,"");
document.getElementById("hai").innerHTML=x;
}
</script>
<form action="">
<input type="file" id="mot" onchange="ham(this.value)">
</form>
<span id="hai"></span>
///////////////////////////////////

cũng không được , mong giúp đỡ
ads viết 11:51 ngày 10/10/2018
Value đúng của nó phải là full path mới đúng ("C:\fakepath\5.jpg"). Còn name của nó (5.jpg) chỉ là cái value đúng khi file đang ở current open folder. Bạn có thể nhấp chọn cái file 1 lần rồi lại chọn cái file đó lần nữa coi thử nó có phải là ra 5.jpg không.
Nếu muốn lấy cái file name để làm gì đó thì cách tốt nhất là viết thêm vài dòng tách cái chuỗi value đó ra.
dokhacluan viết 11:59 ngày 10/10/2018
mình chỉ muốn lấy cái 5.jpg thôi , mình thử replace nhưng không được

Với lại mình cũng chưa hỉu ý bạn , bạn nói rõ hơn được hông?
ads viết 12:01 ngày 10/10/2018
Nếu bạn chỉ muốn lấy file name thì đơn giản nhất là cứ code thêm vài dòng để lấy cái file name thôi.
Đại loại như thế này:

Code:
function ham(x)
{
temp = x.split('\\');
x = temp[temp.length-1];
document.getElementById("hai").innerHTML=x;
}
2 dòng màu đỏ được thêm nha bạn.
dokhacluan viết 11:54 ngày 10/10/2018
cảm ơn ads nha hihihhihihih
đúng là mình còn non quá
Bài liên quan
0