0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 12
1

Как реализовать форму вставки картинки?

03.06.2009, 00:21. Показов 930. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здрасьте, коллеги!

Помогите, не могу разобраться в коде:

В общем, на сайте есть форма отправки отзывов - туда хочу добавить функцию загрузки фотографии (сайт на ASP). Такая форма представлена только в админке, когда новость загружаешь, можно добавить фото. В админке это выглядит так:



Код этой странички такой:




HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<HTML>
<head>
<title>Загрузка картинки</title>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
input, select {font-size: 10px}
</style>
</head>
 
<body bgcolor="#D4D0C8" onLoad="window.focus(); showFolders();">
<form name="cf"></form>
 
<script language="VBScript">
    Public suff
    suff = Mid(CDbl(Now)*10^10,5)
</script>
<script language="JScript">
document.onkeydown=ex;
function ex()
{
    if(event.keyCode==27)
        window.close();
}
function UploadPIC(frm)
{
    var pic = document.all.src.value;
    if(pic.length>0 && document.all.uploadFolder.value!="/www/")
    {
        path = pic.lastIndexOf('\\');
        src = '/www'+ document.all.uploadFolder.value.substr(document.all.uploadFolder.value.indexOf('/')) + pic.substr(path+1);
        if(document.all.unical.checked)
        {
            src = src.substring(0,src.lastIndexOf(".")) + '_' + suff + src.substr(src.lastIndexOf("."));
        }
        
        if(document.all.align.value!="")
            align = ' align="' + document.all.align.value + '"';
        else
            align= '';
        if(document.all.border.value!="")
            border = ' border="' + document.all.border.value + '"';
        else
            border= '';
        if(document.all.alt.value!="")
            alt = ' alt="' + document.all.alt.value.replace(/(')([^']*)(')/gi,"«$2»").replace(/(")([^"]*)(")/gi,"«$2»").replace(/"|'/gi,"`") + '"';
        else
            alt= '';
        if(document.all.vspace.value!="")
            vspace = ' vspace="' + document.all.vspace.value + '"';
        else
            vspace= '';
        if(document.all.hspace.value!="")
            hspace = ' hspace="' + document.all.hspace.value + '"';
        else
            hspace= '';
        
        pic = '<img src="' + src + '"' + align + border + alt + vspace + hspace +'>';
        document.all.pic.value = pic;
        document.all.unical.value = suff;
        waitDiv.style.visibility = 'visible';
    }
}
function CheckForm(frm)
{
    if(document.all.src.value.length>0 && document.all.uploadFolder.value!="/www/")
    {
        var file = document.all.src.value.substring(document.all.src.value.lastIndexOf("\\") + 1, document.all.src.value.lastIndexOf("."));
        if(file.replace(/[^A-Za-z0-9_\-\.]/g, "") != file)
        {
            alert("Имя файла может содержать только:\r\n  символы латинского алфавита\r\n  цифры\r\n  дефис `-`\r\n  символ подчеркивания `_`.");
            return false;
        }
        else
        {
            return true;
        }
    }
    else if(document.all.src.value.length==0)
    {
        alert("Выберите картинку");
        return false;
    }
    else if(document.all.uploadFolder.value=="/www/")
    {
        alert("Укажите папку для загрузки");
        return false;
    }
}
function createFolder()
{
    var folderName = prompt("Новая папка","");
    var parentFolder = "";
    if(document.all.uploadFolder.value!="/www/")
        parentFolder = document.all.uploadFolder.value.substr(document.all.uploadFolder.value.indexOf('/'));
    if(folderName!="" && folderName!=null)
    {
        var frm = document.forms["cf"];
        frm.action = "_createfolder.asp?parentFolder="+ parentFolder +"&folderName="+ folderName +"&q=";
        frm.method = "POST";
        frm.submit();
    }
}
</script>
 
<SCRIPT>
folderNames = new Array(
'&nbsp;&nbsp;&nbsp;&nbsp;/baner/','&nbsp;&nbsp;&nbsp;&nbsp;/css/','&nbsp;&nbsp;&nbsp;&nbsp;/egypet/','&nbsp;&nbsp;&nbsp;&nbsp;/egypt/','&nbsp;&nbsp;&nbsp;&nbsp;/files/','&nbsp;&nbsp;&nbsp;&nbsp;/flashes/','&nbsp;&nbsp;&nbsp;&nbsp;/hotels/','&nbsp;&nbsp;&nbsp;&nbsp;/icns/','&nbsp;&nbsp;&nbsp;&nbsp;/imgs/','&nbsp;&nbsp;&nbsp;&nbsp;/kazan/','&nbsp;&nbsp;&nbsp;&nbsp;/misc/','&nbsp;&nbsp;&nbsp;&nbsp;/otzyv/','&nbsp;&nbsp;&nbsp;&nbsp;/pics/','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/pics/kazan/','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/pics/news/','&nbsp;&nbsp;&nbsp;&nbsp;/turkey/','/www/'
);
for(i=folderNames.length-1;i>0;i--)
{
    swap = folderNames[i-1];
    folderNames[i-1] = folderNames[i];
    folderNames[i] = swap;
}
 
var uploadFolder = '';
function showFolders()
{
    var f = '';
    uploadFolders.innerHTML = '';
    
    f += '<select name="uploadFolder">';
    for(elm in folderNames)
    {
        if(folderNames[elm].replace(/&nbsp;/g,'')==uploadFolder)
            sel = ' selected';
        else
            sel = '';
        f += '<option value="'+ folderNames[elm] +'"'+ sel +'>'+ folderNames[elm] +'</option>';
    }
    f += '</select>';
    uploadFolders.innerHTML = f;
}
</SCRIPT>
 
 
 
 
 
 
 
 
 
 
<form action="imgUpl2.asp?upload=true&extnm=" method="post" enctype="multipart/form-data" onSubmit="return CheckForm(this)">
<div style="padding: 2px">
<input name="pic" type="hidden" value="">
 
<fieldset style="width: 100%; padding: 2px;">
<legend style="font-size: 13px;">Файл</legend>
    <input type="file" name="src" size=50><br>
    <input name="unical" type="checkbox" value="true"><small> - уникальная добавка к имени</small><br>
    <span ID="uploadFolders"></span>
    <a style="cursor: hand;" onClick="createFolder()" title="Создать новую папку внутри выбранной"><img src="file:///c:/icons/icon_createfolder.gif" width="20" height="20" border="0" align="absmiddle" hspace="5"></a>
</fieldset>
 
<table border="0" width="100%" cellpadding="2" cellspacing="0"><tr valign="top">
<td>
<fieldset style="width: 100%; height: 40px; padding: 2px;">
<legend style="font-size: 13px;">Выравнивание</legend>
    <select name="align">
    <option value="">Нет</option>
    <option value="left">По левому краю</option>
    <option value="right">По правому краю</option>
    <option value="top">Top</option>
    <option value="middle">Middle</option>
    <option value="bottom">Bottom</option>
    <option value="texttop">Text Top</option>
    <option value="absmiddle">Absolute Middle</option>
    <option value="absbottom">Absolute Bottom</option>
    <option value="baseline">Baseline</option>
    </select>
</fieldset>
</td>
<td>
<fieldset style="width: 100%; height: 40px; padding: 2px;">
<legend style="font-size: 13px;">Всплывающее описание</legend>
    <input type="text" name="alt" style="width: 340px;">
</fieldset>
</td>
</tr></table>
 
<table border="0" width="100%" cellpadding="2" cellspacing="0"><tr valign="top">
<td>
<fieldset style="width: 100%; height: 40px; padding: 2px;">
<legend style="font-size: 13px;">Рамка</legend>
    <input type=text name=border size=2 value="" maxlength=2>
</fieldset>
</td>
<td>
<fieldset style="width: 100%; height: 40px; padding: 2px;">
<legend style="font-size: 13px;">Вертикальный отступ</legend>
    <input type=text name=vspace size=2 value="" maxlength=2>
</fieldset>
</td>
<td>
<fieldset style="width: 100%; height: 40px; padding: 2px;">
<legend style="font-size: 13px;">Горизонтальный отступ</legend>
    <input type=text name=hspace size=2 value="" maxlength=2>
</fieldset>
</td>
</tr></table>
 
 
<table width="100%"><tr>
<td><a style="cursor: hand;" title="Посмотреть выбранный файл" onClick="if(document.all.src.value){window.open(document.all.src.value,'');}"><img src="file:///c:/icons/icon_preview.gif" width="20" height="20" border="0" align="absmiddle"></a></td>
<td align="right"><INPUT TYPE="button" VALUE="< Отмена" ONCLICK="window.close()"> <INPUT TYPE="submit" VALUE="Вставить >" ONCLICK="UploadPIC(this.form)"></td>
</tr></table>
</div>
</form>
 
<div id="waitDiv" style="position:absolute; top:205px; left:40px; visibility: hidden;">
Дождитесь загрузки картинки на сервер!
</div>
</body>
</HTML>




Так вот, кому не сильно в лом, не ткнете носом чайника, какие фрагменты скриптов отсюда вырезать, чтобы реализовать форму на сайте, чтоб на почту вместе с результатами всей формы (тексты и т.д. и т.п.) приходила фотография или размещалась в папку, скажем, /www/files ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2009, 00:21
Ответы с готовыми решениями:

Как реализовать загрузку картинки на хостинг через форму и поместить путь к этой картинке в переменную?
Как реализовать загрузку картинки на хостинг через форму и поместить путь к этой картинке в...

Как реализовать режим вставки для текстбокса?
чтобы при переходе в текстбокс, всегда выполнялась замена текста

Как поставить значки-картинки на форму?
Подскажите, пожалуйста, как поставить/удалить значки-картинки рядом с &quot;Form1&quot; и на самой форме в...

Как разместить форму поверх картинки?
В общем решил наконец познакомиться с CSS, и натолкнулся на следующую проблему, мне нужно...

0
03.06.2009, 00:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2009, 00:21
Помогаю со студенческими работами здесь

как реализовать картинки
Добрый день!попогите докончить код.Идея такая пользователь выбирает одну из фотографий и кликает по...

Как соединить форму и загрузку картинки на сервер
Вот код формы &lt;?php if (!empty($_POST)) { $title = html_entity_decode($_POST);...

Как реализовать движение картинки?
Задача такая, выводить 1/4 картинки и под ней текст, далее если человек свайпит на картинке, то...

Как реализовать автозамену смайликов на картинки
на странице есть блок с обсуждением, в тексте которого могут содержаться кусочки обозначающие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru