首页 > 解决方案 > PHP表单没有出现

问题描述

当我将按钮类型设置为提交时,我似乎无法让表单出现,但是当按钮为按钮时,我无法将表单取出。我必须使代码与按钮类型按钮一起使用。

        <script type ="text/javascript">
            function submitData() {

                var input = document.getElementById('objectname').value;
                document.getElementById("nameerror").innerHTML = "";
                if (input === "") {
                    document.getElementById("nameerror").innerHTML = "<span style='color:red'> You need to enter the object field</span>";
                }

                var option1 = document.getElementById('metal');
                var option2 = document.getElementById('wood');
                var option3 = document.getElementById('liquid');
                var option4 = document.getElementById('plant');
                var option5 = document.getElementById('animal');
                var option6 = document.getElementById('human');
                var option7 = document.getElementById('others');
                document.getElementById("optionerror").innerHTML = "";
                if (option1.checked === false && option2.checked === false && option3.checked === false && option4.checked === false
                        && option5.checked === false && option6.checked === false && option7.checked === false) {
                    document.getElementById("optionerror").innerHTML = "<span style='color:red'> You need to select an object type</span>";
                }
                if (!(input === "") && (!(option1.checked === false) || !(option2.checked === false))) {
                    document.getElementById('myform').submit();
                }
            }
        </script>
    </head>
    <body>
        <div class ="input-group">
            <h1 class ="header">Object Classification</h1>
        </div>
        <form id="myform"  action="submit.php" method='get' target="hiddenframe">
            <dev class="input-group">
                <label>Object: </label>                 
                <input type="text" name="object" id="objectname">
                <span id="nameerror"></span>
            </dev>
            <p/>
            <dev class="input-group">
                <label >Type: </label>
                <input type="radio" name="option" value="metal" id="metal"/> Metal
                <input type="radio" name="option" value="wood" id="wood"/> Wood
                <input type="radio" name="option" value="liquid" id="liquid"/> Liquid
                <input type="radio" name="option" value="plant" id="plant"/> Plant
                <input type="radio" name="option" value="animal" id="animal"/> Animal
                <input type="radio" name="option" value="human" id="human"/> Human
                <input type="radio" name="option" value="others" id="others"/> Others
                <span  id="optionerror"></span>
            </dev>
            <p/>
            <input type="button" value="Submit" name="submit" onclick="submitData();" ><br/> 
        </form>
        <div>
            <iframe width="500" height="500" style="border:none" name="hiddenframe"></iframe>            
        </div>
    

我必须将数据传输到 server.php。当我将按钮类型设置为提交时,我可以显示此表单。但是当我将按钮类型设置为按钮时,我无法让它出现。

标签: phphtml

解决方案


还有其他方法可以解决此问题,但这里有一个:

您可以将按钮类型保留为“提交”,但将 CSS 附加到它:

CSS(只是一个例子......您可以使用任何其他 CSS):

.button{ padding:9px; font-size: 16px; background:#00912a; border:1px solid #037223; color:#fff !important;}
.button:hover{ background:#fff; border:1px solid #037223; color:#037223 !important;}

代码:

<input type="submit" class="button" value="Submit" name="submit" onclick="submitData();" ><br/> 

推荐阅读