我的 php 文件未正确获取结果

发布于 2024-11-06 04:11:12 字数 1709 浏览 0 评论 0原文

我遇到麻烦了。

我编写 HTML 和 jQuery,并在 标记中设置相同的 name 属性。

<select name="questionBoxOne" id="questionBoxOne">
  <option selected="selected" value="">Choose a question</option>
  <option value="">---------------</option>
  <option value="custom">Create your own question</option>
  <option value="">---------------</option>
  <option value="My mother's maiden name?">My mother's maiden name?</option>
  <option value="The name of my first pet?">The name of my first pet?</option>
  <option value="My father's middle name?">My father's middle name?</option>
</select>

如果用户选择“自定义问题”选项,我将使用此区域显示输入框。

<div id="newQuestion">
  <input type="text" value="" id="questionBoxOne" name="questionBoxOne" />
  <a id="cancel">select question</a>
</div>

我使用 jQuery 代码。

 <script language="javascript">
        $(function() {
            $('#newQuestion').hide();

            $('#questionBoxOne').change(function() {
                if ($(this).val() === 'custom') {
                    $('#newQuestion').show();
                    $('#questionBoxOne').hide();
                }
            });

            $('#cancel').click(function () {
                $('#questionBoxOne').show();
                $('#newQuestion').hide();
            });
 </script>

正如您在我之前的代码中看到的,我将相同的 name 发送到我的下一个 finish.php 文件,但是当我尝试此操作时,它没有显示 < ;select> 选项问题,但此代码显示 custion 问题。

请帮助我如何解决这个问题。

i am having trouble.

i write HTML and jQuery and set same name attribute in <select> tag and <input> tag.

<select name="questionBoxOne" id="questionBoxOne">
  <option selected="selected" value="">Choose a question</option>
  <option value="">---------------</option>
  <option value="custom">Create your own question</option>
  <option value="">---------------</option>
  <option value="My mother's maiden name?">My mother's maiden name?</option>
  <option value="The name of my first pet?">The name of my first pet?</option>
  <option value="My father's middle name?">My father's middle name?</option>
</select>

I use this area to show input box, if user select Custom Question option.

<div id="newQuestion">
  <input type="text" value="" id="questionBoxOne" name="questionBoxOne" />
  <a id="cancel">select question</a>
</div>

And i use jQuery codes.

 <script language="javascript">
        $(function() {
            $('#newQuestion').hide();

            $('#questionBoxOne').change(function() {
                if ($(this).val() === 'custom') {
                    $('#newQuestion').show();
                    $('#questionBoxOne').hide();
                }
            });

            $('#cancel').click(function () {
                $('#questionBoxOne').show();
                $('#newQuestion').hide();
            });
 </script>

as you can see in my earlier codes i am sending same name to my next finish.php file, but when i am trying this it isn't showing <select> option question but this codes show custion question.

please help how i resolve this issue.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

涫野音 2024-11-13 04:11:12

好吧,我想我明白了。您想禁用当时不使用的名称,因此这里有一些

 <script language="javascript">
    $(function() {
        $('#newQuestion').hide();
        $('#newQuestion input').removeAttr('name');
        $('#questionBoxOne').change(function() {
            if ($(this).val() === 'custom') {
                $('#newQuestion').show();
                $('#newQuestion input').attr('name','questionBoxOne');
                $('#questionBoxOne').hide();
                $('#questionBoxOne').removeAttr('name');
            }
        });

        $('#cancel').click(function () {
            $('#questionBoxOne').show();
            $('#questionBoxOne').attr('name','questionBoxOne');
            $('#newQuestion input').removeAttr('name');
            $('#newQuestion').hide();
        });
 </script>

应该可以工作的

代码,但您应该删除 html 中的名称属性,而不是 #newQuestion 中的第一个删除属性
是的,而且非常重要的是,在输入新问题时去掉 ID!!!

然而,你应该处理这个问题的方式是

<form id="submit" action="finish.php" method="post">
   <select id="questionSelect" name="questionSelect">
         <option selected="selected" value="">Choose a question</option>
         <option value="">---------------</option>
         <option value="custom">Create your own question</option>
         <option value="">---------------</option>
         <option value="My mother's maiden name?">My mother's maiden name?</option>
         <option value="The name of my first pet?">The name of my first pet?</option>
         <option value="My father's middle name?">My father's middle name?</option>
   </select>
  <input type="text" value="" id="custQuestion" name="custQuestion" />
  <a id="cancel">select question</a>

保留你原来的 jquery 函数,并将 id 更改为适当的函数,就像

 <script language="javascript">
        $(function() {
            $('#custQuestion').hide();

            $('#questionSelect').change(function() {
                if ($(this).val() === 'custom') {
                    $('#custQuestion').show();
                    $('#questionSelect').hide();
                }
            });

            $('#cancel').click(function () {
                $('#questionSelect').show();
                $('#custQuestion').attr('value','').hide();
            });
 </script>

现在在 finish.php 上,你可以查找返回的两个名称,并根据自定义问题是否为空或使用哪个名称不是。

现在就像这样

if(!empty($_POST['custQuestion'))
  $question = $_POST['custQuestion'];
else
  $question = $_POST['questionSelect'];

,如果这没有帮助你需要做更多的研究

Ok so I think I understand. You want to disable the name your not using at the time so here is some code

 <script language="javascript">
    $(function() {
        $('#newQuestion').hide();
        $('#newQuestion input').removeAttr('name');
        $('#questionBoxOne').change(function() {
            if ($(this).val() === 'custom') {
                $('#newQuestion').show();
                $('#newQuestion input').attr('name','questionBoxOne');
                $('#questionBoxOne').hide();
                $('#questionBoxOne').removeAttr('name');
            }
        });

        $('#cancel').click(function () {
            $('#questionBoxOne').show();
            $('#questionBoxOne').attr('name','questionBoxOne');
            $('#newQuestion input').removeAttr('name');
            $('#newQuestion').hide();
        });
 </script>

that should work

but instead of the first removeattr from the #newQuestion you should remove the name attribute in the html
Yes AND ALSO VERY IMPORTANT GET RID OF THE ID FOR THE INPUT OF NEWQUESTION!!!

However the way in which you should handle this is

<form id="submit" action="finish.php" method="post">
   <select id="questionSelect" name="questionSelect">
         <option selected="selected" value="">Choose a question</option>
         <option value="">---------------</option>
         <option value="custom">Create your own question</option>
         <option value="">---------------</option>
         <option value="My mother's maiden name?">My mother's maiden name?</option>
         <option value="The name of my first pet?">The name of my first pet?</option>
         <option value="My father's middle name?">My father's middle name?</option>
   </select>
  <input type="text" value="" id="custQuestion" name="custQuestion" />
  <a id="cancel">select question</a>

then keep your original jquery functions with the ids changed to the appropriate ones like so

 <script language="javascript">
        $(function() {
            $('#custQuestion').hide();

            $('#questionSelect').change(function() {
                if ($(this).val() === 'custom') {
                    $('#custQuestion').show();
                    $('#questionSelect').hide();
                }
            });

            $('#cancel').click(function () {
                $('#questionSelect').show();
                $('#custQuestion').attr('value','').hide();
            });
 </script>

now on the finish.php you can look for both names returned and use the one depending if custom question is blank or not.

like so

if(!empty($_POST['custQuestion'))
  $question = $_POST['custQuestion'];
else
  $question = $_POST['questionSelect'];

now if that doesn't help you need to do more research

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文