2016-08-04 3 views
1

Я работаю над видом формы, который отправляется на сервер, который будет преобразован в текстовый файл. Зрение должно размещать данные на стороне сервера php. Также необходимо добавить «? PART_NO = часть & frm = MF001" в URL-адрес, чтобы называть каждый текстовый файл.

Если форма содержит более одного переключателя, это приводит к сбою JavaScript. Вероятно, это связано с тем, как я пытаюсь получить доступ к элементу формы. Мне нужен только доступ к текстовому полю с именем «Part_No».HTML-радио кнопки аварии Функция формы JavaScript

<!DOCTYPE html> 
<html> 
<body> 

<form id="test" method="post" action="http://10.0.0.252/test.php" onsubmit="process()"> 
<input type="checkbox" tabindex="40" id="form67_1" data-objref="458 0 R" name="box_brown" imageName="1/form/416 0 R" images="110100"/> 
<input type="radio" tabindex="32" id="form68_1" data-objref="495 0 R" name="rc-50" value="yes" imageName="1/form/497 0 R" images="110100" checked="checked"/> 
<input type="radio" tabindex="31" id="form69_1" data-objref="494 0 R" name="a2262at" value="no" imageName="1/form/494 0 R" images="110100"/> 
<input type="radio" tabindex="17" id="form70_1" data-objref="509 0 R" name="process" value="no" imageName="1/form/509 0 R" images="110100"/> 
<input type="radio" tabindex="11" id="form71_1" data-objref="503 0 R" name="master_glass" value="no" imageName="1/form/503 0 R" images="110100"/> 
    <input type="text" tabindex="4" id="form129_1" value="2" data-objref="62 0 R" title="Part No." name="Part_No"/> 
    <input type="submit" value="Submit"> 
</form> 

<script> 
function process() { 
    var form = document.getElementById('test'); 
    var elements = form.elements["Part_No"]; 
    var values = []; 
    values.push(encodeURIComponent(elements.name) + '=' + encodeURIComponent(elements.value) + "&frnm=MF001"); 

    form.action += '?' + values; 
} 
</script> 

</body> 
</html> 

Вот скрипт на стороне сервера, если кому-то это интересно.

<?php 
$name = $_GET['Part_No']; 
$nom = $_GET['frnm']; 
ob_start(); 
$file = $GLOBALS['HTTP_RAW_POST_DATA']; 
$time = microtime(true); 
$newfile = "./customers/" . $nom . "." . $name . "." . $time . ".txt"; 
$worked = file_put_contents($newfile, $file); 
ob_end_clean(); 
exit(); 

?> 
+0

Нет поля _text с идентификатором "" Part_No "_ ... –

+0

" "Извините, я имел в виду имя. –

ответ

1

Изменить название кнопки радио, которое имеет процесс или изменить имя функции передачи запроса, я рекомендую изменить имя функции, как показано ниже

<!DOCTYPE html> 
<html> 
<body> 

<form id="test" method="post" action="http://10.0.0.252/test.php" onsubmit="processForm()"> 
<input type="checkbox" tabindex="40" id="form67_1" data-objref="458 0 R" name="box_brown" imageName="1/form/416 0 R" images="110100"/> 
<input type="radio" tabindex="32" id="form68_1" data-objref="495 0 R" name="rc-50" value="yes" imageName="1/form/497 0 R" images="110100" checked="checked"/> 
<input type="radio" tabindex="31" id="form69_1" data-objref="494 0 R" name="a2262at" value="no" imageName="1/form/494 0 R" images="110100"/> 
<input type="radio" tabindex="17" id="form70_1" data-objref="509 0 R" name="process" value="no" imageName="1/form/509 0 R" images="110100"/> 
<input type="radio" tabindex="11" id="form71_1" data-objref="503 0 R" name="master_glass" value="no" imageName="1/form/503 0 R" images="110100"/> 
    <input type="text" tabindex="4" id="form129_1" value="2" data-objref="62 0 R" title="Part No." name="Part_No"/> 
    <input type="submit" value="Submit" /> 
</form> 
<script type="text/javascript"> 
function processForm() { 
    alert("test"); 
    var form = document.getElementById('test'); 
    var elements = form.elements["Part_No"]; 
    var values = []; 
    values.push(encodeURIComponent(elements.name) + '=' + encodeURIComponent(elements.value) + "&frnm=MF001"); 

    form.action += '?' + values; 
} 
</script> 


</body> 
</html> 
+0

Я полностью забыл об этом, спасибо. –

+0

Если вы удовлетворены ответом .. Примите ответ – CNKR

0

Это как вы пытаетесь добавить все значения формы к вашему URL-адресу действия, чтобы отправить его как GET ... Итак, почему вы указываете метод POST (в объявлении формы)?

Без скрипта вообще ... Метод GET позволит вам восстановить все ваши переменные GET в PHP. Если вы хотите сделать это как POST (поэтому в адресной строке пользователя не будет отображаться никакое значение), затем откройте их с помощью $_POST['your field name'].

+0

Я пробовал это некоторое время назад, но это не похоже данные. Просто попробовал это сейчас, и это сработало.:/Спасибо. –

Смежные вопросы