Как ввести значение в поле ввода с помощью JavaScript?

Вы неправильно загрузили json - но даже если бы это было правильно, вы не смогли бы протестировать, используя print_r($_POST) ( read why here ). Вместо этого на вашей второй странице вы можете набрать входящий запрос, используя file_get_contents("php://input"), который будет содержать POSTed json. Чтобы просмотреть полученные данные в более читаемом формате, попробуйте следующее:

echo '
'.print_r(json_decode(file_get_contents("php://input")),1).'
';

В вашем коде вы указываете Content-Type:application/json, но вы не кодируете json все данные POST - только значение поля «POST» клиента. Вместо этого сделайте что-то вроде этого:

$ch = curl_init( $url );
# Setup request to send json via POST.
$payload = json_encode( array( "customer"=> $data ) );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
# Return response instead of printing.
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
# Send request.
$result = curl_exec($ch);
curl_close($ch);
# Print response.
echo "
$result
";

Sidenote: вы можете использовать стороннюю библиотеку вместо непосредственного взаимодействия с Shopify API.

2
задан Prashant Pimpale 13 July 2018 в 13:12
поделиться

3 ответа

Может быть, так:

document.getElementsByClassName('contacts_modal_search_field')[0].value = "test";
 <div class="contacts_modal_search">
  <input class="form-control contacts_modal_search_field no_outline ng-pristine ng-valid ng-empty ng-touched" my-focused="" type="search" placeholder="Search" ng-model="search.query" autocomplete="off" style="">
  <a class="im_dialogs_search_clear tg_search_clear ng-hide" ng-click="search.query = ''" ng-show="search.query.length" style="">
    <i class="icon icon-search-clear"></i>
  </a>
</div>

0
ответ дан mscdeveloper 17 August 2018 в 12:47
поделиться

Используйте document.getElementById("id").value = "yourvalue" или document.getElementsByClassName("yourclass")[index].value = "yourvalue".

Используя id:

Enter text to be the value of the second input field:<br/>
<input type="text" id="text"/>
<br/>
<input type="button" onClick="changeValue()" value="Change Value"/>
<p/>
<input type="text" id="result"/>
<script>
function changeValue(){
 document.getElementById("result").value = document.getElementById("text").value;
}
</script>

Используя class:

Enter text to be the value of the second input field:<br/>
    <input type="text" class="text"/>
    <br/>
    <input type="button" onClick="changeValue()" value="Change Value"/>
    <p/>
    <input type="text" class="result"/>
    <script>
    function changeValue(){
     document.getElementsByClassName("result")[0].value = document.getElementsByClassName("text")[0].value;
    }
    </script>

Для вашего кода:

Enter text to be the value of the search input field:<br/>
    <input type="text" class="text"/>
    <br/>
    <input type="button" onClick="changeValue()" value="Change Value"/>
    <p/>
    <script>
    function changeValue(){
     document.getElementsByClassName("form-control")[0].value = document.getElementsByClassName("text")[0].value;
    }
    </script>
<hr>
<div class="contacts_modal_search">
  <input class="form-control contacts_modal_search_field no_outline ng-pristine ng-valid ng-empty ng-touched" my-focused="" type="search" placeholder="Search" ng-model="search.query" autocomplete="off" style="">
  <a class="im_dialogs_search_clear tg_search_clear ng-hide" ng-click="search.query = ''" ng-show="search.query.length" style="">
    <i class="icon icon-search-clear"></i>
  </a>
</div>

Изменить значение поля ввода окна при загрузке окна (с помощью window.onload):

        <script>
        window.onload = function(){
         document.getElementsByClassName("form-control")[0].value = "your value";
        }
        </script>
    <div class="contacts_modal_search">
      <input class="form-control contacts_modal_search_field no_outline ng-pristine ng-valid ng-empty ng-touched" my-focused="" type="search" placeholder="" ng-model="search.query" autocomplete="off" style="">
      <a class="im_dialogs_search_clear tg_search_clear ng-hide" ng-click="search.query = ''" ng-show="search.query.length" style="">
        <i class="icon icon-search-clear"></i>
      </a>
    </div>

2
ответ дан hev1 17 August 2018 в 12:47
поделиться
  • 1
    в исходном коде нет идентификатора, поэтому я попытался использовать класс вместо – ibobo 13 July 2018 в 13:04
  • 2
    @ibobo Проверьте мой третий фрагмент кода. Я включил ваш код. – hev1 13 July 2018 в 13:09

вы можете ввести текстовое поле с помощью java-скрипта.

  <div class="contacts_modal_search">
   <input class="form-control contacts_modal_search_field no_outline ng-pristine ng-valid ng-empty ng-touched" my-focused="" type="search" placeholder="Search" ng-model="search.query" autocomplete="off" style="" id='contacts_modal_search_field'>
  <a class="im_dialogs_search_clear tg_search_clear ng-hide" ng-click="search.query = ''" ng-show="search.query.length" style="">
    <i class="icon icon-search-clear"></i>
  </a>
</div>
<script>
window.onload=function(){
//by Class name
document.getElementsByClassName('contacts_modal_search_field')[0].value='Something'

//by Id 
document.getElementById('contacts_modal_search_field')[0].value='Something' //if 'contacts_modal_search_field' is your input box ID

//By Tag name
document.getElementsByTagName('input')[0].value='Something'
}
</script>
0
ответ дан Negi Rox 17 August 2018 в 12:47
поделиться
  • 1
    есть api-вызов, который должен работать, когда я использую свою клавиатуру, но если я буду вводить текст с javascript, это не будет, могу ли я имитировать вызов api с помощью javascript? - «Апи-вызов» - & quot; contacts.search & quot; – ibobo 13 July 2018 в 13:35
  • 2
    скажите мне, в чем проблема, с чем вы сталкиваетесь – Negi Rox 13 July 2018 в 13:36
  • 3
    Я вставляю имя контакта в поле поиска, используя «document.getElementsByClassName» («contacts_modal_search_field») [0] .value = 'Something' & quot; то имя контакта находится в поле, но выполнение вызова не произошло. Если я использую свою клавиатуру для записи любой буквы, тогда выполняется выполнение. нет кнопки вообще "найти" , когда я проверяю консоль, я вижу, что на каждом шаге ключа есть контакт поиска api, который имитирует кнопку «найти». Надеюсь, я был ясен :) – ibobo 13 July 2018 в 13:40
  • 4
    это как на каждой букве, которую я пишу в окне поиска, кто-то запускает поиск, но когда я ввожу его с помощью javascript, ни один орган не выполняет поиск, и мне нужно что-то написать, и только тогда выполняется поиск. – ibobo 13 July 2018 в 13:42
  • 5
    вам необходимо вызвать этот API после ввода значения в поле ввода – Negi Rox 13 July 2018 в 13:43
Другие вопросы по тегам:

Похожие вопросы: