2012-05-05 1 views
1

Я пытаюсь отобразить мой логин внутри iframe, который загружается посередине стартовой страницы с серой backgroud, однако у меня есть проблема, связанная с целью iframe, все должно работать следующим образом : 1- если пользователь успешно зарегистрировал домашнюю страницу, должен загрузить в родительском окне 2- если ошибка, сообщение об ошибке должно отображаться в самом iframe.динамически меняющаяся цель формы

мой код:

<div id="cover5" onclick="javascript:cover5();"> 
     <iframe name="warning" src="SignIn.php" id="warning" onclick="javascript:cover5();"> 
     </iframe> 
    </div> 

SignIn.php

<html> 
    <head> 
     <script type='text/javascript'> 
    function valid(){ 
    if(document.getElementById('username').value.toString().length>=1 || document.getElementById('password').value.toString().length>=1){ 
    return true; 
    } 
    else{ 
    alert("The Combination of username and password are Incorrect !"); 
    return false; 
    } 
    } 
</script> 
<script type='text/javascript'> 
function ChangeTarget() { 
    document.getElementById("login").prop("target", "_parent") 
} 
</script> 
<script type='text/javascript'> 
function ChangeText(text) { 
       document.getElementById("label1").innerHTML= text; 

      } 
     </script> 
     <title></title> 
    </head> 
    <body> 
<form name="login" id='login' target='_self' method='post' accept-charset='UTF-8'> 
<fieldset> 
<legend>SignIn</legend> 
<input type='hidden' name='submitted' id='submitted' value='1'/> 
<label for='username' >Email:</label> 
<input type='text' name='email' id='username' maxlength="50" /> <br /> 
<label for='password' >Password:</label> 
<input type='password' name='password' id='password' maxlength="50" /> <br /> 
<br /> <label id="label1" style="color: red"></label> <br /> 
<input type='submit' name='Submit' value='Login'/> <br /> 
<a href='resetPassword1.php'> Forgot/Reset Password? Click Here</a> 
</fieldset> 
</form> 

Однако цель не изменяется методом ChangeTarget(), который называется inisde PHP кода, так что теперь проблема в том, что все загружать внутри iframe или все внутри родительского окна. кто-нибудь знает, как решить проблему?

стороне сервера сценарий:

mysql_select_db("mydb",$check); 
$email = $_POST['email']; //username that will be submit from a form 
$password = $_POST['password']; //password that will be submit from a form 

    // if(mysql_num_rows($temp_privileges_id)== 1) //if the id found that means that the user is already assigned to a conference 
    // { 
      echo '<script type="text/javascript">', 
      'ChangeTarget();', 
      '</script>'; 
      header('Location: main.php'); // transefer to home page with variable username 
    } 
+0

код вызывающего ChangeTarget является серверным? Пожалуйста, предоставьте более подробную информацию об этой части. –

+0

@KevinCollins Done –

+0

@KevinCollins правильно ли я вызываю функцию? –

ответ

1

Там нет способа prop. Либо установить значение атрибута target непосредственно

document.getElementById("login").target = "_parent"; 

или использовать setAttribute

document.getElementById("login").setAttribute("target", "_parent"); 
0

.prop() является функцией JQuery. Если вы собираетесь сделать это в JQuery, сделайте следующее:

$("#login").prop("target", "_parent"); 

Если вы не собираетесь делать это в JQuery, сделайте это, как это в прямой JavaScript:

document.getElementById("login").target = "_parent";