关于表单和php的问题(清除表单、实时刷新、多行)

关于表单和php的问题(清除表单、实时刷新、多行),php,html,css,ajax,forms,Php,Html,Css,Ajax,Forms,我有几个关于表单和PHP的问题,但是如果我把它们放到不同的帖子里,我会的 这是我的表格代码: <form id="t-form" name="tForm" action="translate.php" method="POST"> <div id="t-bar"> <div class="t-select"> <select name="start-lang"

我有几个关于表单和PHP的问题,但是如果我把它们放到不同的帖子里,我会的

这是我的表格代码:

<form id="t-form" name="tForm" action="translate.php" method="POST">
            <div id="t-bar">
                <div class="t-select">
                    <select name="start-lang" id="choice-button">
                        <option value="english">English</option>
                    </select>
                    <label>into</label>
                    <select name="end-lang" id="choice-button" onChange="document.forms['tForm'].submit();">
                        <option value="caps"<?php if ($resLang == 'caps') echo ' selected="selected"'; ?>>CAPS</option>
                        <option value="lowercase"<?php if ($resLang == 'lowercase') echo ' selected="selected"'; ?>>lowercase</option>
                    </select>
                    <input type="submit" id="t-submit" value="Translate">
                </div>
            </div>
            <div id="t-main">
                        <textarea id="txt-source" name="t-src" autofocus="autofocus" placeholder="Type in what you would like to convert…" onChange="document.forms['tForm'].submit();"><?php echo $source; ?></textarea>
                        <input type="button" id="t-clear" onclick="this.form.elements['t-src'].value=''">

                        <textarea id="txt-result" name="txt-result" readonly disabled="disabled" placeholder="result..."><?php echo $result; ?></textarea>
                        <input type="button" id="t-copy" name="t-copy">
            </div>
        </form>
我只是想作为一个学习练习来做这件事,非常感谢您对这三个问题的任何指导或回答。非常感谢你的帮助

问题1 你应该:

onclick="clearTextboxes();"
在javascript中,类似于:

//if you want to delete all the inputs that are of type text
function clearTextboxes(){
   var inputs = document.getElementById('t-form').getElementsByTagName('input');
   for (var control in inputs){
      if(inputs[control].getAttribute('type') == 'text'){
         inputs[control].value = '';
      }
   }
}
问题2 它太宽泛了,不能在这里作为答案,您应该真正看看jQuery的$.ajax,并创建一个带有特定疑问的不同问题

问题3 使用PHP urlencode()函数

问题1 你应该:

onclick="clearTextboxes();"
在javascript中,类似于:

//if you want to delete all the inputs that are of type text
function clearTextboxes(){
   var inputs = document.getElementById('t-form').getElementsByTagName('input');
   for (var control in inputs){
      if(inputs[control].getAttribute('type') == 'text'){
         inputs[control].value = '';
      }
   }
}
问题2 它太宽泛了,不能在这里作为答案,您应该真正看看jQuery的$.ajax,并创建一个带有特定疑问的不同问题

问题3
使用PHP urlencode()函数

回答1:让您的
onclick
事件调用一个函数,为您清除这些值:

<script type="text/JavaScript">
    function clearTextareas()
    {
        this.form.elements["t-src"].value = "";
        this.form.elements["txt-result"].value = "";
    }
</script>

<input type="button" id="t-clear" onclick="clearTextareas()">     
答案3:可能是
表单
元素中的
onsubmit
事件,该事件将清理文本区域中的输入。看一看JavaScript的。也许这对你有用:

<script type="text/JavaScript">
    function sanitize()
    {
        this.form.elements["t-src"].value = encodeURIComponent(this.form.elements["t-src"].value);
    }
</script>

函数sanitize()
{
this.form.elements[“t-src”].value=encodeURIComponent(this.form.elements[“t-src”].value);
}

回答1:让您的
onclick
事件调用一个函数,为您清除这些值:

<script type="text/JavaScript">
    function clearTextareas()
    {
        this.form.elements["t-src"].value = "";
        this.form.elements["txt-result"].value = "";
    }
</script>

<input type="button" id="t-clear" onclick="clearTextareas()">     
答案3:可能是
表单
元素中的
onsubmit
事件,该事件将清理文本区域中的输入。看一看JavaScript的。也许这对你有用:

<script type="text/JavaScript">
    function sanitize()
    {
        this.form.elements["t-src"].value = encodeURIComponent(this.form.elements["t-src"].value);
    }
</script>

函数sanitize()
{
this.form.elements[“t-src”].value=encodeURIComponent(this.form.elements[“t-src”].value);
}

对于第三个问题,您必须为每个变量使用urlencode($var)。另外两个更复杂。在第一篇文章中,你写下“我现在有……这清除了一个文本框”,一些文本丢失了?谢谢你的urlencode提示,效果很好!关于问题1,我继续并修正了它,谢谢!如何识别要清除的文本框?他们应该有自己的owm课程?或者你知道他们的身份证???第二个问题对于你已经知道的似乎很简单;由于您已经将表单元素的值设置为
'
,请使用类似的语句将表单元素的值设置为您找到的ajax代码示例的返回值。唯一的区别是您正在更改表单元素的值,而他们正在更改“`div`的内部html。对于第三个问题,您必须为每个变量使用urlencode($var)。另外两个更复杂。在第一篇文章中,你写下“我现在有……这清除了一个文本框”,一些文本丢失了?谢谢你的urlencode提示,效果很好!关于问题1,我继续并修正了它,谢谢!如何识别要清除的文本框?他们应该有自己的owm课程?或者你知道他们的身份证???第二个问题对于你已经知道的似乎很简单;由于您已经将表单元素的值设置为
'
,请使用类似的语句将表单元素的值设置为您找到的ajax代码示例的返回值。唯一的区别是,您正在更改表单元素的值,而他们正在更改“`div`的内部html。非常感谢您给出了清晰的答案!答案1很有魅力。我没有想过要执行一个函数并包含两个调用,所以我会记住这一点!///答案2起作用,但会导致刷新。我将更深入地研究Ajax等,这样我就不必刷新页面了答案3我从未听说过,所以我会去仔细阅读再次感谢您抽出时间回答!我为答案2发布的代码不应该引起刷新。如果用于进行翻译的代码位于某个外部服务器端脚本(我假设为PHP)中,那么是的,您将需要使用AJAX调用脚本而不刷新,但是您可以在它显示
//do something
的位置进行AJAX调用。一定要研究AJAX,因为在未来的工作中您无疑需要它。我甚至建议您使用一个库,甚至编写自己的库,以减少进行AJAX调用所需的大量代码。感谢大家给出清晰的答案!答案1很有魅力。我没有想过要执行一个函数并包含两个调用,所以我会记住这一点!///答案2起作用,但会导致刷新。我将更深入地研究Ajax等,这样我就不必刷新页面了答案3我从未听说过,所以我会去仔细阅读再次感谢您抽出时间回答!我为答案2发布的代码不应该引起刷新。如果用于进行翻译的代码位于某个外部服务器端脚本(我假设为PHP)中,那么是的,您将需要使用AJAX调用脚本而不刷新,但是您可以在它显示
//do something
的位置进行AJAX调用。一定要研究AJAX,因为在未来的工作中您无疑需要它。我甚至建议使用库,甚至编写自己的库,以减少进行AJAX调用所需的大量代码。