[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Импорт csv и автосубмит значений из csv в форму
silmatron
Импорт данных из csv и автоподстановка его значений в форму.

Приношу сразу извинения если не в тот раздел запостил.

Доброго дня. Возник такой вопрос.
Можно ли в форму при нажатии кнопки загрузить csv подставить в input'ы значения из csv.

Именно подставить в значения чтобы они заполнились, но форма еще не отправилась.

Пример csv (колличество столбцов совпадает с колличеством столбцов в форме):
TJ1300 Gold/Brown ,1,Aliya Multistyle Bracelet - Gold/Brown ,Aliya Multistyle Bracelet - Gold/Brown ,,,,,,,,,,,10
TJ1300 Gold/Creme,1,Aliya Multistyle Bracelet - Gold/Creme,Aliya Multistyle Bracelet - Gold/Creme,,,,,,,,,,,10
TJ1300 Gold/Dark Wine,1,Aliya Multistyle Bracelet - Gold/Dark Wine,Aliya Multistyle Bracelet - Gold/Dark Wine,,,,,,,,,,,10
TJ1003 Gold/Gold,1,Aliya Multistyle Bracelet - Gold/Gold,Aliya Multistyle Bracelet - Gold/Gold,,,,,,,,,,,10
TJ1300 Gold/Green,1,Aliya Multistyle Bracelet - Gold/Green,Aliya Multistyle Bracelet - Gold/Green,,,,,,,,,,,10
TJ1300 Gold/Sand,1,Aliya Multistyle Bracelet - Gold/Sand,Aliya Multistyle Bracelet - Gold/Sand,,,,,,,,,,,10
TJ1004 Gunmetal/Gunmetal,1,Aliya Multistyle Bracelet - Gunmetal/Gunmetal,Aliya Multistyle Bracelet - Gunmetal/Gunmetal,,,,,,,,,,,10
TJ1300 Silver/Black,1,Aliya Multistyle Bracelet - Silver/Black,Aliya Multistyle Bracelet - Silver/Black,,,,,,,,,,,10
TJ1300 Silver/Brown,1,Aliya Multistyle Bracelet - Silver/Brown,Aliya Multistyle Bracelet - Silver/Brown,,,,,,,,,,,10
TJ1300 Silver/Green,1,Aliya Multistyle Bracelet - Silver/Green,Aliya Multistyle Bracelet - Silver/Green,,,,,,,,,,,10



Имеем форму:

.........
.........
<
style type="text/css">
.
button, .list a.button {
text-decoration: none;
color: #FFF;
display: inline-block;
padding: 5px 15px 5px 15px;
background: #003A88;
-webkit-border-radius: 10px 10px 10px 10px;
-
moz-border-radius: 10px 10px 10px 10px;
-
khtml-border-radius: 10px 10px 10px 10px;
border-radius: 10px 10px 10px 10px;
}
</style>
<
script type="text/javascript" src="jquery/jquery-1.9.1.min.js"></script>
<
script type="text/javascript">
var MaxLegnth=0;

function addTableRow(jQtable){
MaxLegnth++;
//alert(MaxLegnth);
jQtable.each(function(){
var tds = '<tr>';
jQuery.each($('tr:last td', this), function() {tds += '<td>'+$(this).html()+'</td>';});
tds += '</tr>';
if($('tbody', this).length > 0){$('tbody', this).append(tds);
}else {$(this).append(tds);}
}
);

jQtable.find('tr:last td input:not([name="cancel"], [type="hidden"])').each(function(){
var oldname=$(this).attr('name');
oldname = oldname.replace(/[0-9]/g, '');

var newname=oldname+MaxLegnth;
$(this).attr('name', newname);
//alert($(this).attr('name'));
});

jQtable.find('tr:last td select').each(function(){
var oldname=$(this).attr('name');
oldname = oldname.replace(/[0-9]/g, '');

var newname=oldname+MaxLegnth;
$(this).attr('name', newname);
//alert($(this).attr('name'));
});

$('input[name="MaxLegnth"]').each(function(){
$(this).attr('value', MaxLegnth);
//alert($(this).attr('value'));
});

}

$(function(){
$('table#submitform').on('click','tr input[name="cancel"]',function(e){
var trlength=$('table#submitform tr').length;
if (trlength <= 2) return false; //это значит что первые две строки нельзя удалять ни при каких обстоятельствах
$(this).parents('tr').remove();
});
});


</
script>
<?php
if ($MaxLegnth!=-1) include("request101.php");
?>
<form action="" method="post" >
<
table >
<
tr>
<
td> Document unique ID </td>
<
td><input name="zdoc_id" type="text" required/></td>
<
td> MEMO </td>
<
td><input name="doc_txt" type="text" /></td>
</
tr>
</
table>
<
script type="text/javascript">
function proverka(input) {
input.value = input.value.replace(/[^\d,]/g, '');
};
</
script>
<
table width="100%" border="1" id="submitform" style="text-align:center">
<
tr>
<
td>Product ID</td>
<
td>Type</td>
<
td>Product name<br />(in stock)</td>
<
td>Product name<br />(for clients)</td>
<
td>Estimated cost with VAT</td>
<
td>length<br />mm</td>
<
td>width<br />mm</td>
<
td>height<br />mm</td>
<
td>weight<br />gr</td>
<
td>Mark for packing</td>
<
td>Requirements</td>
<
td>Q1</td>
<
td>Q2</td>
<
td>Q3</td>
<
td>Planned<br />quantity</td>
<
td> </td>
</
tr>
<
tr>
<
td><input name="good_id" type="text" maxlength="255" size="10" required /></td>
<
td><select name="good_type" size="1">
<
option value="1" selected >Product</option>
<
option value="2">flyer</option>
<
option value="3">service</option>
<
option value="4">advertisement</option>
</
select>
</
td>
<
td><input name="good_name" type="text" maxlength="255" size="10" required />
</
td>
<
td><input name="public_name" type="text" maxlength="255" size="10" />
</
td>
<
td>
<
input name="ocenka" type="text" size="3" maxlength="5" />
</
td>
<
td><input name="length" type="text" size="3" maxlength="5" onkeyup="return proverka(this);" onchange="return proverka(this);" />
</
td>
<
td><input name="width" type="text" size="3" maxlength="5" onkeyup="return proverka(this);" onchange="return proverka(this);" />
</
td>
<
td><input name="height" type="text" size="3" maxlength="5" onkeyup="return proverka(this);" onchange="return proverka(this);" />
</
td>
<
td><input name="weight" type="text" size="3" maxlength="5" onkeyup="return proverka(this);" onchange="return proverka(this);" />
</
td>
<
td><select name="pack_flags" size="1">
<
option value="0" selected >None</option>
<
option value="1">Fragile</option>
<
option value="2">Bubles</option>
</
select>
</
td>
<
td><input name="quality_txt" type="text" maxlength="255" size="10" />
</
td>
<
td><input name="unit_qnt" type="text" size="1" maxlength="2" onkeyup="return proverka(this);" onchange="return proverka(this);" /></td>
<
td><input name="inbox_qnt" type="text" size="1" maxlength="2" onkeyup="return proverka(this);" onchange="return proverka(this);" /></td>
<
td><input name="clnt_qnt" type="text" size="1" maxlength="2" onkeyup="return proverka(this);" onchange="return proverka(this);" /></td>

<
td>

<
input name="plan_qnt" type="text" size="3" maxlength="255" onkeyup="return proverka(this);" onchange="return proverka(this);" required />

</
td>
<
td><input type="button" name="cancel" style="background:#FFF; border: none; background:url(/admin/view/template/common/images/cancel.jpg); width:16px; height:16px" value=""/>
</
td>
</
tr>
</
table>
<
table id="node">
<
tr>
<
td><button class="button" type="button" onclick="addTableRow($('#submitform'));">Add row</button></td>
<
td><button class="button">Send document</button></td>
<
td><button class="button">Import data from csv</button></td>
</
tr>
</
table>
<
input name="MaxLegnth" type="hidden" value="0" />
</
form>



Если такое возможно, то нужен пример хотя бы простой формы и простого csv.
чТО-то вроде такого:
1
user posted image
2
user posted image
Результат
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.