0

我想让它只有在前一个框中的信息正确时才会出现新的输入框,通过使用 mysql_query 检查它,我可以调整这段代码

function show(id){
  if(document.getElementById(id+"-link").style.display=="none") {
     document.getElementById(id+"-link").style.display="block";
     document.getElementById(id+"-input").style.display="block";
  }
}

<tr> 
  <td><input type="text" id="a1" name="em_1"></td>
  <td><a href="#null" onclick="show('b1')">and</a></td>
</tr><tr>
  <td><input type="text" id="b1-input" name="em_2" style="display:none"></td>
  <td><a href="#null" style="display:none" id="b1-link"</a></td>
</tr><tr>

所以在这里的某个地方我需要添加:

$userCheck=mysql_query(SELECT email FROM users WHERE name = "em_1")
$row=mysql_num_rows($usercheck)
if($row!==0){"show('b1')";}

或有影响的东西,而不刷新页面。这可能吗?

4

3 回答 3

1

是的,这是可能的,但您需要知道如何使用ajaxjquery-ajax

这将帮助您将数据从php获取到javascript,然后附加到html

于 2013-01-08T21:48:15.337 回答
1

阿贾克斯:

function XMLDoc()
{
if (window.XMLHttpRequest)
  {
    xmlhttp=new XMLHttpRequest();
  }
else
  {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            // xmlhttp.responseText -> return value from php file , so from here you can do your action
        }
    };
xmlhttp.open("POST","yourfile.php?email={value}",true); // from here send value to check in server side
xmlhttp.send(); 
}

php:

if (isset($_POST['email'])){ // which is variable from `yourfile.php?email`
    $userCheck=mysql_query("SELECT email FROM users WHERE name = 'em_1'");
    $row=mysql_num_rows($usercheck);
    if ($row==0){
        echo "no";
    } else {
        echo "yes";
    }
}

传入yourfile服务器端脚本的 URL,它检查电子邮件是否存在并返回例如是或否 => 然后在 Ajax 的帮助下,它将在当前文档中返回

注意:不要使用mysqlextension ,使用mysqliorPDO代替

于 2013-01-08T21:48:58.600 回答
1

您需要 AJAX 来完成这项工作而无需刷新。在 W3Schools 上查看此页面:http: //www.w3schools.com/php/php_ajax_database.asp

这几乎正​​是您想要的,但不是返回一个文本块,而是让这些b1片段活跃起来。

于 2013-01-08T22:04:09.597 回答