2014-09-24 2 views
0

привет, я действительно не знаю много о javascript, так жаль этот вопрос. im пытается сделать страницу викторины, используя php с двумя наборами вопросов. я хочу отключить вторую кнопку для другой викторины и разрешить ее только тогда, когда пользователь передал первую.включение и отключение кнопки с использованием javascript и php

это то, что я хотел случиться:

<?php 

require 'config.php'; 
$name = "kevin"; 
$result =mysql_query("select score from members where Username = '$name' "); 

?> 

<input name="button1" type="button" value="1" /> 
<input name="button2" type="button" value="2" disabled="disabled" /> 
<script type="text/javascript"> 

    if<?php $score is greater than 5 ?>{ 
     $('#button2').removeAttr('disabled'); 
    } 
    else { 
     $('#button2').attr("disabled","disabled"); 

    } 
}); 
</script> 

любая помощь будет оценена, спасибо заранее.

+0

Вы действительно далеко от правильного результата. Сначала прочитайте об AJAX и передайте параметры с php на javascript и наоборот. – Robert

+0

Включили ли вы jQuery? Даже если у вас есть, ваша декларация должна находиться внутри декларации '$ (document) .ready'. –

+0

thankyou плохо проверить его сразу, – rayah

ответ

0

Вы можете попробовать, как это

if($score > 5){ 
?> 
    <script> 
    $(document).ready(function(){ 
     $('#button2').removeAttr('disabled'); 
    }); 
    </script> 
<? 
}else{ 
?> 
    <script> 
    $(document).ready(function(){ 
     $('#button2').attr('disabled'); 
    }); 
    </script> 
<? 
} 

или если removeAttr/атр не работает, то вы можете сделать, как этот

$('#button2').prop('disabled', false); 
$('#button2').prop('disabled', true); 
+0

хорошо, попробуйте это прямо сейчас, спасибо всем. – rayah

+0

Я попробовал, но не работал с ним. кнопка по-прежнему включена – rayah

+0

вы пробовали .prop вещь? –

1

Вы пытаетесь смешать PHP и JavaScript, вы можете» Это сделать. Они работают на совершенно разных машинах в совершенно разные времена.

Поскольку оценка известна на стороне сервера (на PHP) до того, как страница даже отправлена ​​клиенту, сделайте условное событие в коде PHP и только выпустите клиенту разметку, которую вы хотите. Что-то вроде этого:

<?php 

require 'config.php'; 
$name = "kevin"; 
$result =mysql_query("select score from members where Username = '$name' "); 

?> 

<input name="button1" type="button" value="1" /> 
<?php 
    // use a real conditional, I'm just duplicating you for simplicity 
    if ($score is greater than 5) { 
?> 
    <input name="button2" type="button" value="2" /> 
<?php 
    } else { 
?> 
    <input name="button2" type="button" value="2" disabled="disabled" /> 
<?php 
    } 
?> 

Там нет необходимости в JavaScript вообще в этом случае, так как логики все на стороне сервера.

Теперь вы все еще можете использовать JavaScript для взаимодействия на стороне клиента. Кроме того, имейте в виду, что это не совсем какая-либо мера безопасности, чтобы пользователи не нажимали кнопку. Любой пользователь может изменить отправленный им HTML/JavaScript и по-прежнему нажимать кнопку, если они этого действительно хотят. Поэтому, если вам нужно предотвратить выполнение пользователем, то это должно быть сделано и на стороне сервера, в ответ на любые действия, которые пользователь не должен разрешать выполнять.

+0

thankyou очень сильно сэр, действительно оценил это, это мой первый раз создающий веб-сайт основанный на проекте, поэтому я действительно смутился, но я действительно хотел закончить это так, чтобы вам помочь. – rayah

+0

@rayah: Рад, что я мог бы помочь. Если честно, если вы можете понять жесткое разделение между серверным кодом и кодом на стороне клиента и связь между ними (и этот вопрос/ответ - шаг к такому), тогда вы будете в довольно хорошей форме для Интернета независимо от деталей любого используемого языка или структуры. – David

+0

Да, я искал их разницу сразу после прочтения ваших комментариев, благодарю вас за то, что он указал на него. – rayah

Смежные вопросы