181 lines
6.9 KiB
JavaScript
181 lines
6.9 KiB
JavaScript
function btnClick()
|
||
{
|
||
var errorText = "";
|
||
var INNVal = "";
|
||
var urfiz = "";
|
||
|
||
//urfiz = GetValChackedRadioButton('urfiz');
|
||
urfiz = document.querySelector('input[name="urfiz"]:checked').value;
|
||
INNVal = document.getElementById('INN').value;
|
||
errorText = '';
|
||
|
||
if (urfiz == "fiz" & INNVal.length != 0){
|
||
errorText = 'Для физ.лиц задавать ИНН не нужно.';
|
||
document.getElementById('INN').value = "";
|
||
INNVal = document.getElementById('INN').value;
|
||
}
|
||
|
||
if (urfiz == "fiz" & INNVal.length == 0){
|
||
document.getElementById('INN').hidden = true;
|
||
}
|
||
|
||
if (urfiz == "ur" & INNVal.length == 0){
|
||
document.getElementById('INN').hidden = false;
|
||
}
|
||
|
||
if (errorText != ""){
|
||
document.getElementById('ErrorMessage').hidden = false;
|
||
document.getElementById('ErrorMessage').innerHTML="<HR color='red'>"+
|
||
"ВНИМАНИЕ: " + errorText.bold() + "<HR color='red'>";
|
||
}else{
|
||
document.getElementById('ErrorMessage').hidden = true;
|
||
}
|
||
//alert(document.querySelector("#INN").value);
|
||
}
|
||
|
||
function checkRegExpValNumber(){
|
||
//тут проверяем, а не входит ли случайно введеный символ в инн,
|
||
// в список НЕ цифр. Если символ не цифра, то ругаемся и удаляем символ.
|
||
const inn = document.querySelector('input[name="INN"]');
|
||
inn.addEventListener('input', updateValueInn);
|
||
}
|
||
|
||
function updateValueInn(letter){
|
||
var reg = /^\d{10}$/;
|
||
var bukva = letter.target.value; //получаем измененную строку
|
||
var validNum = reg.test(bukva);
|
||
|
||
if (!validNum) {
|
||
var errorText = "ИНН должен состоять ТОЛЬКО из цифр и составлять 10 знаков";
|
||
document.getElementById('ErrorMessage').hidden = false;
|
||
document.getElementById('ErrorMessage').innerHTML="<HR color='red'>"+
|
||
"ВНИМАНИЕ: " + errorText.bold() + "<HR color='red'>";
|
||
}else{
|
||
var errorText = "";
|
||
document.getElementById('ErrorMessage').hidden = true;
|
||
document.getElementById('ErrorMessage').innerHTML="";
|
||
}
|
||
}
|
||
|
||
function checkRegExpValRusNum(){
|
||
const strNumDoc = document.querySelector('input[name="strNumDoc"]');
|
||
strNumDoc.addEventListener('input', updateValueStrNumDoc);
|
||
}
|
||
|
||
function updateValueStrNumDoc(letter){
|
||
var reg = /^[-\s,а-яА-ЯёЁ0-9]+$/;
|
||
var bukva = letter.target.value; //получаем измененную строку
|
||
var validNum = reg.test(bukva);
|
||
|
||
if (!validNum) {
|
||
var errorText = "Строка с номерами может содержать только кирилицу, тире, числа и запятые \n Пример: ТТ-ЗАК-01234, ЭЛР-СЧ-12345";
|
||
document.getElementById('ErrorMessage').hidden = false;
|
||
document.getElementById('ErrorMessage').innerHTML="<HR color='red'>"+
|
||
"ВНИМАНИЕ: " + errorText.bold() + "<HR color='red'>";
|
||
}else{
|
||
var errorText = "";
|
||
document.getElementById('ErrorMessage').hidden = true;
|
||
document.getElementById('ErrorMessage').innerHTML="";
|
||
}
|
||
}
|
||
|
||
//***************** K0t0vICH ***************/
|
||
function send_data(){
|
||
// блочим кнопку отправки запроса
|
||
//startCheck("submit_btn");
|
||
toggleButton("submit_btn");
|
||
|
||
// удаляем предыдущую таблицу
|
||
if (document.querySelector('#result_table').childNodes.length>0) {
|
||
document.querySelector('#result_table').removeChild(document.querySelector('#result_table').childNodes[0]);
|
||
}
|
||
|
||
// Данные формы
|
||
const params = {
|
||
urfiz: document.querySelector('input[name="urfiz"]:checked').value,
|
||
INN: document.querySelector('#INN').value,
|
||
strNumDoc: document.querySelector('#strNumDoc').value
|
||
}
|
||
|
||
var http = new XMLHttpRequest();
|
||
http.open('POST', 'action.php', true);
|
||
http.setRequestHeader('Content-type', 'application/json');
|
||
http.onreadystatechange = function() { // Ожидание ответа
|
||
if(http.readyState == 4 && http.status == 200) {
|
||
console.log(http.responseText); // проверка приходящих параметров
|
||
// разблокируем кнопку отправки запроса
|
||
toggleButton("submit_btn");
|
||
|
||
var result_table = JSON.parse(http.responseText);
|
||
|
||
// Заголовки таблицы
|
||
var col = [];
|
||
for (var i = 0; i < result_table.length; i++) {
|
||
for (var key in result_table[i]) {
|
||
if (col.indexOf(key) === -1) {
|
||
col.push(key);
|
||
}
|
||
}
|
||
}
|
||
|
||
// Создаем таблицу
|
||
var table = document.createElement("table");
|
||
var tr = table.insertRow(-1); // TABLE ROW.
|
||
for (var i = 0; i < col.length; i++) {
|
||
var th = document.createElement("th"); // TABLE HEADER.
|
||
th.innerHTML = col[i];
|
||
tr.appendChild(th);
|
||
}
|
||
|
||
// JSON DATA -> ROWS.
|
||
for (var i = 0; i < result_table.length; i++) {
|
||
|
||
tr = table.insertRow(-1);
|
||
|
||
for (var j = 0; j < col.length; j++) {
|
||
var tabCell = tr.insertCell(-1);
|
||
tabCell.innerHTML = result_table[i][col[j]];
|
||
}
|
||
}
|
||
|
||
// Создаем таблицу в контейнере
|
||
var divContainer = document.getElementById("result_table");
|
||
divContainer.innerHTML = "";
|
||
divContainer.appendChild(table);
|
||
|
||
// скролим строницу на таблицу результатов
|
||
document.getElementById("result_table").scrollIntoView();
|
||
|
||
}
|
||
}
|
||
http.send(JSON.stringify(params)); // упаковываем!
|
||
};
|
||
|
||
function startCheck(button_id){
|
||
var el = document.getElementById(button_id);
|
||
var urfiz = document.getElementsByName("urfiz");
|
||
if (!urfiz["ur"].checked && !urfiz["ur"].checked){
|
||
el.value = "Не выбрано Юр./Физ.лицо"
|
||
el.disabled = true$
|
||
}
|
||
else
|
||
{
|
||
el.value = "Получить данные";
|
||
el.disabled = false;
|
||
}
|
||
}
|
||
|
||
function toggleButton(button_id)
|
||
{
|
||
var el = document.getElementById(button_id);
|
||
if (el.value == "Запрос обрабатывается...")
|
||
{
|
||
el.value = "Получить данные";
|
||
el.disabled = false;
|
||
}
|
||
else
|
||
{
|
||
el.value = "Запрос обрабатывается...";
|
||
el.disabled = true;
|
||
}
|
||
} |