php – 从下拉列表中获取价值. (有点棘手)
首先,我对
PHP和编码很新,但是这里有.
我有一个Web表单,必须从txt文件(位于服务器上的文件夹中)获取一些信息 下拉列表的代码: <? $currentdir = 'files'; //change to your directory $dir = opendir($currentdir); echo 'Files are as follows:<br>'; echo '<select name="select">'; while($file = readdir($dir)) { echo '<option value="'.$file.'">'.$file.'</option>'; } echo '</select>'; closedir($dir); ?> 以及从文件中读取的代码: <input type="text" value="<?php $myFile = ""; $lines = file($myFile); echo $lines[2]; ?>" name="refnr" id="refnr" class="input" /> 让我们说下拉列表显示2个文件,test.txt和test2.txt,如果我从下拉列表中选择test2.txt,我希望它将“test2.txt”放在“”at<?php $myFile =之间“”; 我现在的表格的完整代码: <?php if (!empty($_POST)) { // Used for later to determine result $success = $error = false; // Object syntax looks better and is easier to use than arrays to me $post = new stdClass; // Usually there would be much more validation and filtering,but this // will work for now. foreach ($_POST as $key => $val) $post->$key = trim(strip_tags($_POST[$key])); // Check for blank fields if (empty($post->refnr)) $error = true; else { // Get this directory,to include other files from $dir = dirname(__FILE__); // Get the contents of the pdf into a variable for later ob_start(); require_once($dir.'/pdf.php'); $pdf_html = ob_get_contents(); ob_end_clean(); // Load the dompdf files require_once($dir.'/dompdf/dompdf_config.inc.php'); $dompdf = new DOMPDF(); // Create new instance of dompdf $dompdf->load_html($pdf_html); // Load the html $dompdf->render(); // Parse the html,convert to PDF $pdf_content = $dompdf->output(); // Put contents of pdf into variable for later // Get the contents of the HTML email into a variable for later ob_start(); require_once($dir.'/html.php'); $html_message = ob_get_contents(); ob_end_clean(); // Load the SwiftMailer files require_once($dir.'/swift/swift_required.php'); $mailer = new Swift_Mailer(new Swift_MailTransport()); // Create new instance of SwiftMailer $message = Swift_Message::newInstance() ->setSubject('Felanmalan') // Message subject ->setTo(array('mymail@hidden' => 'Fel')) // Array of people to send to ->setFrom(array('mymail@hidden' => 'Fel')) // From: ->setBody($html_message,'text/html') // Attach that HTML message from earlier ->attach(Swift_Attachment::newInstance($pdf_content,'Felanmalan.pdf','application/pdf')); // Attach the generated PDF from earlier // Send the email,and show user message if ($mailer->send($message)) $success = true; else $error = true; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Felanmälan från IKEA</title> <style type="text/css"> html,body,h1,h2,h3,h4,h5,h6,p,span,ul,li,div,form,input,select,textarea,button {margin:0; padding:0;} ul {list-style:none;} a,a:hover {text-decoration:none; outline:0;} a img {border:0;} body {font:12px/16px Verdana,Arial,sans-serif; background:#ffffff;} #container {width:450px; margin:10px auto; padding:10px; overflow:hidden; border:1px solid #000; border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px; background:#F9F9F9;} #container h1 {margin-bottom:20px; font-size:40px; line-height:40px; font-family:'HelveticaNeue-Light','Helvetica Neue',Helvetica,sans-serif; font-weight:normal;} .message {margin-bottom:10px; padding:5px;} .success {color:#4F8A10; border:1px solid #4F8A10; background:#DFF2BF;} .error {color:#D8000C; border:1px solid #D8000C; background:#FFBABA;} label {display:block; margin-bottom:3px; cursor:pointer;} .input,button {display:block; width:440px; margin-bottom:10px; padding:3px; font:22px/22px 'HelveticaNeue-Light',sans-serif; border:1px solid #CCC; border-top-width:2px;} textarea {font-size:13px; line-height:16px;} select {width:396px;} button {float:right; width:auto; margin-bottom:0; padding:3px 30px; cursor:pointer; font-size:16px; border:1px solid #999; border-bottom-width:2px; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; background:#EEE;} button:active {border-bottom-width:1px; padding:4px 30px 3px; background:#E9E9E9;} </style> </head> <body> <? $currentdir = 'files'; //change to your directory $dir = opendir($currentdir); echo 'Files are as follows:<br>'; echo '<select name="select">'; while($file = readdir($dir)) { echo '<option value="'.$file.'">'.$file.'</option>'; } echo '</select>'; closedir($dir); ?> <div id="container"> <h1><img src="felimg.png" /> Felanmälan</h1> <?php if ($success) { ?> <div class="message success"> <h4>Congratulations! It worked! Now check your email.</h4> </div> <?php } elseif ($error) { ?> <div class="message error"> <h4>Sorry,an error occurred. Try again!</h4> </div> <?php } ?> <form method="post" action=""> <label for="date"><b>Date:</b></label> <input type="text" readonly name="date" id="date" class="input" value="<? print(Date("Y-m-d")); ?>"/> <label for="refnr"><b>Referensnummer:</b></label> <input type="text" value="<?php $myFile = ""; $lines = file($myFile); echo $lines[2]; ?>" name="refnr" id="refnr" class="input" /> <label for="bestav"><b>Beställd av:</b></label> <input type="text" name="bestav" id="bestav" class="input" /> <label for="tel"><b>Tel:</b></label> <input type="text" name="tel" id="tel" class="input" /> <label for="email"><b>Email:</b></label> <input type="text" name="email" id="email" class="input" /> <label for="kund"><b>Kund:</b></label> <textarea name="kund" id="kund" rows="4" cols="40"></textarea> <label for="ktel"><b>Tel:</b></label> <input type="text" name="ktel" id="ktel" class="input" /> <label for="art"><b>Berörd Artikel:</b></label> <textarea name="art" id="art" rows="3" cols="40"></textarea> <label for="fel"><b>Fel på varan: </b></label> <textarea name="fel" id="fel" rows="2" cols="40"></textarea> <label for="q1"><b>Installation gjord av fackman:</b></label> <select name="q1" id="q1"> <option value="Ja">Ja</option> <option value="Nej">Nej</option> </select> <label for="q2"><b>Serviceverkstad:</b></label> <input type="text" name="q2" id="q2" class="input" /> <label for="q3"><b>Servicenr:</b></label> <input type="text" name="q3" id="q3" class="input" /> <label for="q4"><b>Serienr:</b></label> <input type="text" name="q4" id="q4" class="input" /> <label for="q5"><b>Inom garanti eller reklamation:</b></label> <select name="q5" id="q5"> <option value="Garanti">Garanti</option> <option value="Reklamation">Reklamation</option> </select> <label for="q6"><b>Informerat om punkt 8:</b></label> <select name="q6" id="q6"> <option value="Ja">Ja</option> <option value="Nej">Nej</option> </select> <label for="q7"><b>Har kund själv gått igenom manual för felsökning:</b></label> <select name="q7" id="q7"> <option value="Ja">Ja</option> <option value="Nej">Nej</option> </select> <label for="q8"><b>Ordernr:</b></label> <input type="text" name="q8" id="q8" class="input" /> <label for="q9"><b>Inköpsdatum:</b></label> <input type="date" name="q9" id="q9" class="input" /><br> <p><button type="submit">Submit!</button></p> </form> </div> </body> </html> 希望它有意义再次,抱歉,如果它原来是一个菜鸟问题:)我用了2天谷歌搜索和测试,我只是到了一个点,我需要再次向正确的方向推进. 提前致谢. ps解释我的目标是什么,然后我有1个webform生成一个txt文件并将其保存在服务器上,然后是另一个表单,其中“admin”可以从下拉列表中选择文件,获取信息客户填写了txt版本,然后填写他需要填写的内容,然后将其保存并以PDF格式发送给技术人员. 解决方法
你可以用
echo '<select id="select" name="select">'; while($file = readdir($dir)) { echo '<option value="'.$file.'">'.$file.'</option>'; } echo '</select>'; 在将其加载到DOM之后,请使用 document.getElementById('select').onchange=changeSelect; function changeSelect(){ document.getElementById('refnr').value=document.getElementById('select').value; } changeSelect(); 在此处查看:http://jsfiddle.net/7nzBS/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |