Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 后置选择元素值_Php_Jquery_Mysql - Fatal编程技术网

Php 后置选择元素值

Php 后置选择元素值,php,jquery,mysql,Php,Jquery,Mysql,我使用jquery将数据发布到mysql **In settings.php i have this short JS code:** $("form#submit").submit(function() { var fname = $('#fname').attr('value'); var lname = $('#lname').attr('value'); $.ajax({ type: "POST", url:

我使用jquery将数据发布到mysql

 **In settings.php i have this short JS code:**

 $("form#submit").submit(function() {
    var fname     = $('#fname').attr('value');
    var lname     = $('#lname').attr('value'); 
    $.ajax({
        type: "POST",
        url: "settings.php",
        data: "fname="+ fname +"& lname="+ lname,
        success: function(){
            $('form#submit').hide();
            $('div.success').fadeIn();
        }
    });
return false;
});


**And this short php:**


 if (isset($_POST['fname'])){
        $fname        = htmlspecialchars(trim($_POST['fname']));
           DO SOMETHING....
 }
这是FNAME的来源代码:点击“添加图像”按钮后,发布FNAME值

echo "......
      <form id='submit$i' method='post'><input type='hidden' name='fname' id='fname' class='text' value='$fm_linkaz'></div><input name='add'type='image' id='add' value='$fm_linkaz' src='s.png'/></form>..........";
这是很好的工作。但是我需要一个SELECT元素,所以我将代码更改为:

 ......

   echo "<select name=dropdown_list id='**ONAME**'><option value''>test</option>";
   for($i=0; $i < count($myarray); $i++){
   echo "<option value='$myarray[$i]'>$myarray[$i]</option>";}echo "</select>";

   ......</form>";
这是工作得很好,但我不知道如何修改JS代码,张贴选定的值太多。
感谢您的帮助。

获取所选值以供使用

jQuery('#**ONAME**').val();

虽然我不确定**ONAME**是否为有效ID,但请尝试删除**

以获取值,并使用

$('select[name=dropdown_list]').val();
您也可以使用和ID,但我认为其中包含一些无效字符,我怀疑这是否有效:

$('select#**ONAME**').val();

不管怎样,瓦尔就是你要找的。我还建议使用val而不是attr'value'。

首先,javascript代码需要一些更新:

$'fname'.val优于$'fname'.attr'value'-.val也将处理选择/复选框-其中.attr'value'不可靠

第二:$.ajax调用的数据参数可以接受一个json对象,并将其转换为字符串形式

$.ajax({
  type: "POST",
  url: "settings.php",
  data: {
    'fname': $('#fname').val(),
    'lname': $('#lname').val(),
    'oname': $('#oname').val()
  },
  success: function(){
    $('form#submit').hide();
    $('div.success').fadeIn();
  }
});
有一种方法可以使这更容易:

$("form").ajaxForm({
   success: function(){
     $('form#submit').hide();
     $('div.success').fadeIn();
   }
});
更新:


此外,元素名为dropdown_list,可能您希望它以oname的形式提交数据。表单元素使用name属性提交,id属性只会使css/js选择器更易于编码。

我确实如您所说做了更改。但是,在我按下按钮后,我使用此属性测试ONAME是否已发布。。。如果isset$_POST['oname']{echo Ok;}但是没有echo,那么这段代码有问题。下拉菜单为“工作”,但没有任何值。。echo…有些东西…您的字段名是“dropdown\u list”-而不是“oname”,这可能是问题所在吗?检查$\u POST['dropdown\u list']?另外-我在另一条评论中注意到您没有-更新代码以选择$oname而不是$select[@name=dropdown\u list];-虽然php中的代码可能会解决您的问题。您是对的:$\u POST['dropdown\u list']检查正常..我从SELECT元素中获取所选值..但是代码的ajax部分仍然不起作用。。。检查后,然后:$fname=htmlspecialcharstrim$_POST['fname']$oname=htmlspecialcharstrim$_POST['oname'];但我得到了未定义的索引oname错误。。。所以ajax部分仍然有问题……没有-$\u POST['oname']没有在ajax请求中设置-只需将您选择的名称更改为“oname”,您的许多问题可能会消失-您需要在ajax提交中将其从“dropdown_list”更改为“oname”。答案已更新,以包含该更改无星。我点击了粗体按钮,等等…随便。。我尝试了你的建议,但我对post数据有问题,因为:在我按下按钮后,我使用这段短代码来测试ONAME是否已发布:如果isset$_post['ONAME']{echo Ok;}但没有echo,那么这段代码有问题。下拉菜单为“工作”,但没有任何值。。回音…某物。。。